diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-12-17 07:51:17 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-12-17 07:51:17 +0000 |
| commit | 792d4f130d6fcfebc14f0e4e20d3111a24852da2 (patch) | |
| tree | e9c173f151d9e8f46cabcebde4e0f8aa4730a836 /llvm | |
| parent | fa4907d67104e8835839d7da20fd1e73c3eec396 (diff) | |
| download | bcm5719-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.ll | 19 |
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 +} |

