Support G_ZEXT i1 to i32/i64 instruction selection.
Details
Diff Detail
- Build Status
Buildable 6275 Build 6275: arc lint + arc unit
Event Timeline
Widening done using G_ZEXT ( in some cases G_ANYEXT) so i need to support G_ZEXT selection in any case.
ok
i assume that the reason why use have custom code for lowering is that the tablegen patterns aren't fully supported. but once they will be supported, we'll need to have various patterns for illegal types as well? for G_ZEXT or any other instructions the legalize pass creates.
lib/Target/X86/X86LegalizerInfo.cpp | ||
---|---|---|
90 | is the SEXT legalization intentional? |
lib/Target/X86/X86LegalizerInfo.cpp | ||
---|---|---|
90 | Yes, i think to mark G_SEXT i1 as legal operation and lower it to AND + NEG sequence in InstructionSelector. |
lib/Target/X86/X86LegalizerInfo.cpp | ||
---|---|---|
90 | ok, but you're missing the legalize test for s1->s64 sext |
is the SEXT legalization intentional?