[X86] Regenerate atomic-eflags-reuse.ll

This commit is contained in:
Simon Pilgrim 2021-04-22 14:06:57 +01:00
parent 41091614d6
commit 05953cf615
1 changed files with 11 additions and 2 deletions

View File

@ -222,13 +222,22 @@ entry:
ret i8 %tmp2
}
define i8 @test_add_1_cmov_cmov(i64* %p, i8* %q) #0 {
; TODO: It's possible to use "lock inc" here, but both cmovs need to be updated.
define i8 @test_add_1_cmov_cmov(i64* %p, i8* %q) #0 {
; CHECK-LABEL: test_add_1_cmov_cmov:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: movl $1, %eax
; CHECK-NEXT: lock xaddq %rax, (%rdi)
; CHECK-NEXT: testq %rax, %rax
; CHECK-NEXT: testq %rax, %rax
; CHECK-NEXT: movl $12, %eax
; CHECK-NEXT: movl $34, %ecx
; CHECK-NEXT: cmovsl %eax, %ecx
; CHECK-NEXT: movb %cl, (%rsi)
; CHECK-NEXT: movl $56, %ecx
; CHECK-NEXT: movl $78, %eax
; CHECK-NEXT: cmovsl %ecx, %eax
; CHECK-NEXT: # kill: def $al killed $al killed $eax
; CHECK-NEXT: retq
entry:
%add = atomicrmw add i64* %p, i64 1 seq_cst
%cmp = icmp slt i64 %add, 0