forked from OSchip/llvm-project
Regenerate xchg-nofold.ll expected results. NFC.
llvm-svn: 304291
This commit is contained in:
parent
95ed8e7928
commit
6a303a4e73
|
@ -1,3 +1,4 @@
|
||||||
|
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||||
; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck %s
|
; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck %s
|
||||||
|
|
||||||
%"struct.std::atomic" = type { %"struct.std::atomic_bool" }
|
%"struct.std::atomic" = type { %"struct.std::atomic_bool" }
|
||||||
|
@ -6,6 +7,28 @@
|
||||||
|
|
||||||
; CHECK-LABEL: _Z3fooRSt6atomicIbEb
|
; CHECK-LABEL: _Z3fooRSt6atomicIbEb
|
||||||
define zeroext i1 @_Z3fooRSt6atomicIbEb(%"struct.std::atomic"* nocapture dereferenceable(1) %a, i1 returned zeroext %b) nounwind {
|
define zeroext i1 @_Z3fooRSt6atomicIbEb(%"struct.std::atomic"* nocapture dereferenceable(1) %a, i1 returned zeroext %b) nounwind {
|
||||||
|
; CHECK-LABEL: _Z3fooRSt6atomicIbEb:
|
||||||
|
; CHECK: # BB#0: # %entry
|
||||||
|
; CHECK-NEXT: movq %rdi, %rax
|
||||||
|
; CHECK-NEXT: shrq $3, %rax
|
||||||
|
; CHECK-NEXT: movb 2147450880(%rax), %al
|
||||||
|
; CHECK-NEXT: testb %al, %al
|
||||||
|
; CHECK-NEXT: je .LBB0_3
|
||||||
|
; CHECK-NEXT: # BB#1:
|
||||||
|
; CHECK-NEXT: movl %edi, %ecx
|
||||||
|
; CHECK-NEXT: andl $7, %ecx
|
||||||
|
; CHECK-NEXT: cmpb %al, %cl
|
||||||
|
; CHECK-NEXT: jge .LBB0_2
|
||||||
|
; CHECK-NEXT: .LBB0_3:
|
||||||
|
; CHECK-NEXT: movl %esi, %eax
|
||||||
|
; CHECK-NEXT: xchgb %al, (%rdi)
|
||||||
|
; CHECK-NEXT: movl %esi, %eax
|
||||||
|
; CHECK-NEXT: retq
|
||||||
|
; CHECK-NEXT: .LBB0_2:
|
||||||
|
; CHECK-NEXT: pushq %rax
|
||||||
|
; CHECK-NEXT: callq __asan_report_store1
|
||||||
|
; CHECK-NEXT: #APP
|
||||||
|
; CHECK-NEXT: #NO_APP
|
||||||
entry:
|
entry:
|
||||||
%frombool.i.i = zext i1 %b to i8
|
%frombool.i.i = zext i1 %b to i8
|
||||||
%_M_i.i.i = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %a, i64 0, i32 0, i32 0, i32 0
|
%_M_i.i.i = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %a, i64 0, i32 0, i32 0, i32 0
|
||||||
|
@ -30,7 +53,6 @@ entry:
|
||||||
|
|
||||||
; <label>:11: ; preds = %6, %entry
|
; <label>:11: ; preds = %6, %entry
|
||||||
store atomic i8 %frombool.i.i, i8* %_M_i.i.i seq_cst, align 1
|
store atomic i8 %frombool.i.i, i8* %_M_i.i.i seq_cst, align 1
|
||||||
; CHECK: xchgb %{{.*}}, (%{{.*}})
|
|
||||||
ret i1 %b
|
ret i1 %b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue