1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
2
; RUN: llc < %s -mtriple=x86_64-apple-macosx10.7.0 -verify-machineinstrs | FileCheck %s
3
3
; RUN: llc < %s -mtriple=x86_64-apple-macosx10.7.0 -verify-machineinstrs -O0 | FileCheck %s
4
- ; RUN: llc %s --mtriple=x86_64 -o - | FileCheck %s --check-prefix=CHECK0
5
4
6
5
define void @test1 (ptr %ptr , i32 %val1 ) {
7
6
; CHECK-LABEL: test1:
8
7
; CHECK: ## %bb.0:
9
8
; CHECK-NEXT: xchgl %esi, (%rdi)
10
9
; CHECK-NEXT: retq
11
- ;
12
- ; CHECK0-LABEL: test1:
13
- ; CHECK0: # %bb.0:
14
- ; CHECK0-NEXT: xchgl %esi, (%rdi)
15
- ; CHECK0-NEXT: retq
16
10
store atomic i32 %val1 , ptr %ptr seq_cst , align 4
17
11
ret void
18
12
}
@@ -22,11 +16,6 @@ define void @test2(ptr %ptr, i32 %val1) {
22
16
; CHECK: ## %bb.0:
23
17
; CHECK-NEXT: movl %esi, (%rdi)
24
18
; CHECK-NEXT: retq
25
- ;
26
- ; CHECK0-LABEL: test2:
27
- ; CHECK0: # %bb.0:
28
- ; CHECK0-NEXT: movl %esi, (%rdi)
29
- ; CHECK0-NEXT: retq
30
19
store atomic i32 %val1 , ptr %ptr release , align 4
31
20
ret void
32
21
}
@@ -36,35 +25,15 @@ define i32 @test3(ptr %ptr) {
36
25
; CHECK: ## %bb.0:
37
26
; CHECK-NEXT: movl (%rdi), %eax
38
27
; CHECK-NEXT: retq
39
- ;
40
- ; CHECK0-LABEL: test3:
41
- ; CHECK0: # %bb.0:
42
- ; CHECK0-NEXT: movl (%rdi), %eax
43
- ; CHECK0-NEXT: retq
44
28
%val = load atomic i32 , ptr %ptr seq_cst , align 4
45
29
ret i32 %val
46
30
}
47
31
48
- define <1 x i32 > @atomic_scalar_i32 (ptr %x ) {
49
- ; CHECK-LABEL: atomic_scalar_i32 :
32
+ define <1 x i32 > @atomic_vec1_i32 (ptr %x ) {
33
+ ; CHECK-LABEL: atomic_vec1_i32 :
50
34
; CHECK: ## %bb.0:
51
35
; CHECK-NEXT: movl (%rdi), %eax
52
36
; CHECK-NEXT: retq
53
- ;
54
- ; CHECK0-LABEL: atomic_scalar_i32:
55
- ; CHECK0: # %bb.0:
56
- ; CHECK0-NEXT: movl (%rdi), %eax
57
- ; CHECK0-NEXT: retq
58
37
%ret = load atomic <1 x i32 >, ptr %x acquire , align 4
59
38
ret <1 x i32 > %ret
60
39
}
61
-
62
- define <1 x bfloat> @atomic_scalar_bfloat (ptr %x ) {
63
- ; CHECK0-LABEL: atomic_scalar_bfloat:
64
- ; CHECK0: # %bb.0:
65
- ; CHECK0-NEXT: movzwl (%rdi), %eax
66
- ; CHECK0-NEXT: pinsrw $0, %eax, %xmm0
67
- ; CHECK0-NEXT: retq
68
- %ret = load atomic <1 x bfloat>, ptr %x acquire , align 4
69
- ret <1 x bfloat> %ret
70
- }
0 commit comments