]> granicus.if.org Git - llvm/commit
[X86] Use MOVZX16rr8/MOVZXrm8 when extending input for i8 udivrem.
authorCraig Topper <craig.topper@intel.com>
Fri, 6 Sep 2019 19:15:04 +0000 (19:15 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 6 Sep 2019 19:15:04 +0000 (19:15 +0000)
commit1935dd03cb145f3f86a5e076692a3974543eb6b5
tree80bd7b98a94756f551cb58e1ea42dccb254f02d1
parent47e9ba395e34baf07d599786a11ff1ba42758522
[X86] Use MOVZX16rr8/MOVZXrm8 when extending input for i8 udivrem.

We can rely on X86FixupBWInsts to turn these into MOVZX32. This
simplifies a follow up commit to use MOVSX for i8 sdivrem with
a late optimization to use CBW when register allocation works out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371242 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
test/CodeGen/X86/2008-09-11-CoalescerBug2.ll
test/CodeGen/X86/anyext.ll
test/CodeGen/X86/bypass-slow-division-32.ll
test/CodeGen/X86/bypass-slow-division-tune.ll
test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
test/CodeGen/X86/divrem.ll
test/CodeGen/X86/divrem8_ext.ll
test/CodeGen/X86/scalar_widen_div.ll
test/CodeGen/X86/urem-power-of-two.ll