diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-29 06:51:04 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-29 06:51:04 +0000 |
| commit | 495a1bc89378539c8b31d5cc8a91a48c4403b40b (patch) | |
| tree | 4201a16d73c379e14c96979cc9794a27a221e345 /llvm/test | |
| parent | 7a60e291858ecfc27d4bc014bf68014ed1312959 (diff) | |
| download | bcm5719-llvm-495a1bc89378539c8b31d5cc8a91a48c4403b40b.tar.gz bcm5719-llvm-495a1bc89378539c8b31d5cc8a91a48c4403b40b.zip | |
[X86] Remove combine that turns X86ISD::LSUB into X86ISD::LADD. Update patterns that depended on this.
If the carry flag is being used, this transformation isn't safe.
This does prevent some test cases from using DEC now, but I'll try to look into that separately.
Fixes PR35068.
llvm-svn: 316860
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/atomic-eflags-reuse.ll | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/atomic-eflags-reuse.ll b/llvm/test/CodeGen/X86/atomic-eflags-reuse.ll index a43b802e866..a6919358ea3 100644 --- a/llvm/test/CodeGen/X86/atomic-eflags-reuse.ll +++ b/llvm/test/CodeGen/X86/atomic-eflags-reuse.ll @@ -32,7 +32,7 @@ entry: define i32 @test_sub_1_cmov_sle(i64* %p, i32 %a0, i32 %a1) #0 { ; CHECK-LABEL: test_sub_1_cmov_sle: ; CHECK: # BB#0: # %entry -; CHECK-NEXT: lock decq (%rdi) +; CHECK-NEXT: lock addq $-1, (%rdi) ; CHECK-NEXT: cmovgel %edx, %esi ; CHECK-NEXT: movl %esi, %eax ; CHECK-NEXT: retq @@ -46,7 +46,7 @@ entry: define i32 @test_sub_1_cmov_sgt(i64* %p, i32 %a0, i32 %a1) #0 { ; CHECK-LABEL: test_sub_1_cmov_sgt: ; CHECK: # BB#0: # %entry -; CHECK-NEXT: lock decq (%rdi) +; CHECK-NEXT: lock addq $-1, (%rdi) ; CHECK-NEXT: cmovll %edx, %esi ; CHECK-NEXT: movl %esi, %eax ; CHECK-NEXT: retq @@ -76,7 +76,7 @@ entry: define i8 @test_sub_1_setcc_sgt(i64* %p) #0 { ; CHECK-LABEL: test_sub_1_setcc_sgt: ; CHECK: # BB#0: # %entry -; CHECK-NEXT: lock decq (%rdi) +; CHECK-NEXT: lock addq $-1, (%rdi) ; CHECK-NEXT: setge %al ; CHECK-NEXT: retq entry: |

