summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-12-17 07:51:17 +0000
committerCraig Topper <craig.topper@intel.com>2018-12-17 07:51:17 +0000
commit792d4f130d6fcfebc14f0e4e20d3111a24852da2 (patch)
treee9c173f151d9e8f46cabcebde4e0f8aa4730a836 /llvm
parentfa4907d67104e8835839d7da20fd1e73c3eec396 (diff)
downloadbcm5719-llvm-792d4f130d6fcfebc14f0e4e20d3111a24852da2.tar.gz
bcm5719-llvm-792d4f130d6fcfebc14f0e4e20d3111a24852da2.zip
[X86] Add test case for PR39968. NFC
llvm-svn: 349331
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/CodeGen/X86/cmp.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/cmp.ll b/llvm/test/CodeGen/X86/cmp.ll
index b6ecda0208c..a12d599a1de 100644
--- a/llvm/test/CodeGen/X86/cmp.ll
+++ b/llvm/test/CodeGen/X86/cmp.ll
@@ -465,3 +465,22 @@ entry:
ret i32 %ret
}
+
+define { i64, i64 } @pr39968(i64, i64, i32) {
+; CHECK-LABEL: pr39968:
+; CHECK: # %bb.0:
+; CHECK-NEXT: andl $64, %edx # encoding: [0x83,0xe2,0x40]
+; CHECK-NEXT: xorl %eax, %eax # encoding: [0x31,0xc0]
+; CHECK-NEXT: shrl $6, %edx # encoding: [0xc1,0xea,0x06]
+; CHECK-NEXT: cmovneq %rdi, %rsi # encoding: [0x48,0x0f,0x45,0xf7]
+; CHECK-NEXT: cmovneq %rdi, %rax # encoding: [0x48,0x0f,0x45,0xc7]
+; CHECK-NEXT: movq %rsi, %rdx # encoding: [0x48,0x89,0xf2]
+; CHECK-NEXT: retq # encoding: [0xc3]
+ %4 = and i32 %2, 64
+ %5 = icmp ne i32 %4, 0
+ %6 = select i1 %5, i64 %0, i64 %1
+ %7 = select i1 %5, i64 %0, i64 0
+ %8 = insertvalue { i64, i64 } undef, i64 %7, 0
+ %9 = insertvalue { i64, i64 } %8, i64 %6, 1
+ ret { i64, i64 } %9
+}
OpenPOWER on IntegriCloud