/// *down* to the given alignment.
HANDLE_TARGET_OPCODE(G_PTR_MASK)
+/// Generic BRANCH instruction. This is an unconditional branch.
+HANDLE_TARGET_OPCODE(G_BR)
+
/// Generic insertelement.
HANDLE_TARGET_OPCODE(G_INSERT_VECTOR_ELT)
/// Generic extractelement.
HANDLE_TARGET_OPCODE(G_EXTRACT_VECTOR_ELT)
-/// Generic BRANCH instruction. This is an unconditional branch.
-HANDLE_TARGET_OPCODE(G_BR)
-// WARNING: make sure you update the PRE_ISEL_GENERIC_OPCODE_END if you put
-// anything after G_BR!!! Better yet, don't.
-
// TODO: Add more generic opcodes as we move along.
/// Marker for the end of the generic opcode.
continue:
ret void
}
-
-; FALLBACK-WITH-REPORT-ERR: remark: <unknown>:0:0: unable to legalize instruction: {{.*}} G_EXTRACT_VECTOR
-; FALLBACK-WITH-REPORT-ERR: warning: Instruction selection used fallback path for unhandled_extract
-; FALLBACK-WITH-REPORT-OUT-LABEL: unhandled_extract:
-define i32 @unhandled_extract(<2 x i32> %in, i64 %elt) {
- %tmp = extractelement <2 x i32> %in, i64 %elt
- %res = add i32 %tmp, 1
- ret i32 %res
-}