Codesize is less (16) or equal (8), and we avoid partial dependencies.
I'm running the test-suite to get some numbers; I figured I'd put up a patch in the meantime.
Paths
| Differential D19999
[X86] Teach X86FixupBWInsts to promote MOV8rr/MOV16rr to MOV32rr. ClosedPublic Authored by ab on May 5 2016, 3:00 PM.
Details
Summary Codesize is less (16) or equal (8), and we avoid partial dependencies. I'm running the test-suite to get some numbers; I figured I'd put up a patch in the meantime.
Diff Detail
Event TimelineComment Actions The code generally looks good. I don't see any tests that explicitly test this code though: if (TRI->getSubRegIndex(NewSrcReg, OldSrc.getReg()) != TRI->getSubRegIndex(NewDestReg, OldDest.getReg())) return nullptr; Definitely need to be sure that this works, and has tests. Don't want movb %ah, %cl to accidentally be turned into movl %eax, %ecx
ab edited edge metadata. Comment Actions
Comment Actions
ab added inline comments. This revision is now accepted and ready to land.May 6 2016, 10:47 AM Comment Actions Not much changes in the test-suite (+SPEC ref) but a couple improvements:
Closed by commit rL268760: [X86] Teach X86FixupBWInsts to promote MOV8rr/MOV16rr to MOV32rr. (authored by ab). · Explain WhyMay 6 2016, 10:49 AM This revision was automatically updated to reflect the committed changes. Comment Actions r268753 r268754 or r268760 is probably responcible for
Revision Contents
Diff 56437 llvm/trunk/lib/Target/X86/X86FixupBWInsts.cpp
llvm/trunk/test/CodeGen/X86/2011-06-14-PreschedRegalias.ll
llvm/trunk/test/CodeGen/X86/anyext.ll
llvm/trunk/test/CodeGen/X86/avx512-calling-conv.ll
llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll
llvm/trunk/test/CodeGen/X86/avx512-select.ll
llvm/trunk/test/CodeGen/X86/avx512dq-mask-op.ll
llvm/trunk/test/CodeGen/X86/cmovcmov.ll
llvm/trunk/test/CodeGen/X86/fixup-bw-copy.ll
llvm/trunk/test/CodeGen/X86/float-conv-elim.ll
llvm/trunk/test/CodeGen/X86/machine-combiner-int.ll
llvm/trunk/test/CodeGen/X86/opt-ext-uses.ll
llvm/trunk/test/CodeGen/X86/pr23664.ll
llvm/trunk/test/CodeGen/X86/vector-bitreverse.ll
llvm/trunk/test/CodeGen/X86/vector-idiv-sdiv-512.ll
llvm/trunk/test/CodeGen/X86/vector-idiv-udiv-512.ll
llvm/trunk/test/CodeGen/X86/xaluo.ll
|