Eli Friedman | 9c73a57 | 2011-08-24 22:33:28 +0000 | [diff] [blame^] | 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 4 | ||||
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 4 | ||||
18 | ret i64 %val | ||||
19 | } |