1 ; RUN: llc < %s -march=x86 | FileCheck %s 2 3 ; 64-bit load/store on x86-32 4 ; FIXME: The generated code can be substantially improved. 5 6 define void @test1(i64* %ptr, i64 %val1) { 7 ; CHECK: test1 8 ; CHECK: cmpxchg8b 9 ; CHECK-NEXT: jne 10 store atomic i64 %val1, i64* %ptr seq_cst, align 8 11 ret void 12 } 13 14 define i64 @test2(i64* %ptr) { 15 ; CHECK: test2 16 ; CHECK: cmpxchg8b 17 %val = load atomic i64* %ptr seq_cst, align 8 18 ret i64 %val 19 } 20