Add IRTranslator support to translate these known intrinsics into GISel opcodes.
Diff Detail
- Repository
- rL LLVM
Event Timeline
include/llvm/Support/TargetOpcodes.def | ||
---|---|---|
470–471 | Should we really preserve this SelectionDAGism or just make the zero is undef bit be an immediate operand to the instruction like the intrinsic? |
include/llvm/Support/TargetOpcodes.def | ||
---|---|---|
470–471 | I think having two opcodes is explicit and is a little easier to work with - we don't usually have immediates in GISel instructions - and constants are encoded through a reg defining G_CONSTANT which makes it a little inconvenient to use. It probably also might make importing tablegen patterns slightly easier. |
test/TableGen/trydecode-emission.td | ||
---|---|---|
37 | Why are these tests changing? |
test/TableGen/trydecode-emission.td | ||
---|---|---|
37 | I believe these changes are due to increase in the number of opcodes. |
include/llvm/Support/TargetOpcodes.def | ||
---|---|---|
470–471 | We'll need it for legalization. Typically only one or the other is legal and we can't do context-dependent legalization. | |
test/TableGen/trydecode-emission.td | ||
37 | We hit this out-of-tree a couple weeks ago, most of the changes are because the TryDecode/Decode are one byte larger and those are one byte larger because there are more opcodes before InstA. | |
39–40 | The new bytes should be checked with {{[0-9]+}} |
Should we really preserve this SelectionDAGism or just make the zero is undef bit be an immediate operand to the instruction like the intrinsic?