Changes
Summary
- [ARM GlobalISel] Select extensions to < 32 bits Select G_SEXT and G_ZEXT with destination types smaller than 32 bits in the exact same way as 32 bits. This overwrites the higher bits, but that should be ok since all legal users of types smaller than 32 bits ignore those bits anyway.
- [ARM GlobalISel] Rename some inst selector tests. NFC Prepare to add support for extensions to types smaller than 32 bits.
- [ARM GlobalISel] Legalize extensions to < 32 bits Make it legal to extend from e.g. s1 to s8 or s16.
Change Type | Path in Repository | Path in Workspace |
---|---|---|
![]() | /llvm/trunk/lib/Target/ARM/ARMInstructionSelector.cpp | trunk/lib/Target/ARM/ARMInstructionSelector.cpp |
![]() | /llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir | trunk/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir |
![]() | /llvm/trunk/test/CodeGen/ARM/GlobalISel/thumb-select-exts.mir | trunk/test/CodeGen/ARM/GlobalISel/thumb-select-exts.mir |
Change Type | Path in Repository | Path in Workspace |
![]() | /llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir | trunk/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir |
![]() | /llvm/trunk/test/CodeGen/ARM/GlobalISel/thumb-select-exts.mir | trunk/test/CodeGen/ARM/GlobalISel/thumb-select-exts.mir |
Change Type | Path in Repository | Path in Workspace |
![]() | /llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp | trunk/lib/Target/ARM/ARMLegalizerInfo.cpp |
![]() | /llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-legalize-exts.mir | trunk/test/CodeGen/ARM/GlobalISel/arm-legalize-exts.mir |