summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/bool-simplify.ll
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-02-20 17:41:00 +0000
committerCraig Topper <craig.topper@intel.com>2018-02-20 17:41:00 +0000
commit010ae8dcbbd8861f4e9f6883218b2e51c3163b9c (patch)
tree1a6402191cc334268b8f65661bff3f080b20e71f /llvm/test/CodeGen/X86/bool-simplify.ll
parent563c901bac5ea12b8364c2c38c2264c4c1d027ec (diff)
downloadbcm5719-llvm-010ae8dcbbd8861f4e9f6883218b2e51c3163b9c.tar.gz
bcm5719-llvm-010ae8dcbbd8861f4e9f6883218b2e51c3163b9c.zip
[X86] Promote 16-bit cmovs to 32-bits
This allows us to avoid an opsize prefix. And forcing some move immediates to i32 avoids a length changing prefix on those instructions. This mostly replaces the existing combine we had for zext/sext+cmov of constants. I left in a case for sign extending a 32 bit cmov of constants to 64 bits. Differential Revision: https://reviews.llvm.org/D43327 llvm-svn: 325601
Diffstat (limited to 'llvm/test/CodeGen/X86/bool-simplify.ll')
-rw-r--r--llvm/test/CodeGen/X86/bool-simplify.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/bool-simplify.ll b/llvm/test/CodeGen/X86/bool-simplify.ll
index 60931a7d8b3..bbb7eb7c176 100644
--- a/llvm/test/CodeGen/X86/bool-simplify.ll
+++ b/llvm/test/CodeGen/X86/bool-simplify.ll
@@ -53,7 +53,7 @@ define i16 @rnd16(i16 %arg) nounwind {
; CHECK: # %bb.0:
; CHECK-NEXT: xorl %eax, %eax
; CHECK-NEXT: rdrandw %cx
-; CHECK-NEXT: cmovbw %di, %ax
+; CHECK-NEXT: cmovbl %edi, %eax
; CHECK-NEXT: addl %ecx, %eax
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
; CHECK-NEXT: retq
@@ -105,7 +105,7 @@ define i16 @seed16(i16 %arg) nounwind {
; CHECK: # %bb.0:
; CHECK-NEXT: xorl %eax, %eax
; CHECK-NEXT: rdseedw %cx
-; CHECK-NEXT: cmovbw %di, %ax
+; CHECK-NEXT: cmovbl %edi, %eax
; CHECK-NEXT: addl %ecx, %eax
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
; CHECK-NEXT: retq
OpenPOWER on IntegriCloud