|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
2 |
| -; RUN: llc -O0 < %s -mtriple=x86_64-linux-generic -verify-machineinstrs -mattr=sse2 | FileCheck --check-prefix=CHECK-O0 %s |
3 |
| -; RUN: llc -O3 < %s -mtriple=x86_64-linux-generic -verify-machineinstrs -mattr=sse2 | FileCheck --check-prefix=CHECK-O3 %s |
| 2 | +; RUN: llc -O0 < %s -mtriple=x86_64-linux-generic -verify-machineinstrs -mattr=sse2 | FileCheck --check-prefixes=CHECK,CHECK-O0 %s |
| 3 | +; RUN: llc -O3 < %s -mtriple=x86_64-linux-generic -verify-machineinstrs -mattr=sse2 | FileCheck --check-prefixes=CHECK,CHECK-O3 %s |
4 | 4 |
|
5 | 5 | define i8 @load_i8(i8* %ptr) {
|
6 |
| -; CHECK-O0-LABEL: load_i8: |
7 |
| -; CHECK-O0: # %bb.0: |
8 |
| -; CHECK-O0-NEXT: movb (%rdi), %al |
9 |
| -; CHECK-O0-NEXT: retq |
10 |
| -; |
11 |
| -; CHECK-O3-LABEL: load_i8: |
12 |
| -; CHECK-O3: # %bb.0: |
13 |
| -; CHECK-O3-NEXT: movb (%rdi), %al |
14 |
| -; CHECK-O3-NEXT: retq |
| 6 | +; CHECK-LABEL: load_i8: |
| 7 | +; CHECK: # %bb.0: |
| 8 | +; CHECK-NEXT: movb (%rdi), %al |
| 9 | +; CHECK-NEXT: retq |
15 | 10 | %v = load atomic i8, i8* %ptr monotonic, align 1
|
16 | 11 | ret i8 %v
|
17 | 12 | }
|
@@ -62,57 +57,37 @@ define void @store_i16(i16* %ptr, i16 %v) {
|
62 | 57 | }
|
63 | 58 |
|
64 | 59 | define i32 @load_i32(i32* %ptr) {
|
65 |
| -; CHECK-O0-LABEL: load_i32: |
66 |
| -; CHECK-O0: # %bb.0: |
67 |
| -; CHECK-O0-NEXT: movl (%rdi), %eax |
68 |
| -; CHECK-O0-NEXT: retq |
69 |
| -; |
70 |
| -; CHECK-O3-LABEL: load_i32: |
71 |
| -; CHECK-O3: # %bb.0: |
72 |
| -; CHECK-O3-NEXT: movl (%rdi), %eax |
73 |
| -; CHECK-O3-NEXT: retq |
| 60 | +; CHECK-LABEL: load_i32: |
| 61 | +; CHECK: # %bb.0: |
| 62 | +; CHECK-NEXT: movl (%rdi), %eax |
| 63 | +; CHECK-NEXT: retq |
74 | 64 | %v = load atomic i32, i32* %ptr monotonic, align 4
|
75 | 65 | ret i32 %v
|
76 | 66 | }
|
77 | 67 |
|
78 | 68 | define void @store_i32(i32* %ptr, i32 %v) {
|
79 |
| -; CHECK-O0-LABEL: store_i32: |
80 |
| -; CHECK-O0: # %bb.0: |
81 |
| -; CHECK-O0-NEXT: movl %esi, (%rdi) |
82 |
| -; CHECK-O0-NEXT: retq |
83 |
| -; |
84 |
| -; CHECK-O3-LABEL: store_i32: |
85 |
| -; CHECK-O3: # %bb.0: |
86 |
| -; CHECK-O3-NEXT: movl %esi, (%rdi) |
87 |
| -; CHECK-O3-NEXT: retq |
| 69 | +; CHECK-LABEL: store_i32: |
| 70 | +; CHECK: # %bb.0: |
| 71 | +; CHECK-NEXT: movl %esi, (%rdi) |
| 72 | +; CHECK-NEXT: retq |
88 | 73 | store atomic i32 %v, i32* %ptr monotonic, align 4
|
89 | 74 | ret void
|
90 | 75 | }
|
91 | 76 |
|
92 | 77 | define i64 @load_i64(i64* %ptr) {
|
93 |
| -; CHECK-O0-LABEL: load_i64: |
94 |
| -; CHECK-O0: # %bb.0: |
95 |
| -; CHECK-O0-NEXT: movq (%rdi), %rax |
96 |
| -; CHECK-O0-NEXT: retq |
97 |
| -; |
98 |
| -; CHECK-O3-LABEL: load_i64: |
99 |
| -; CHECK-O3: # %bb.0: |
100 |
| -; CHECK-O3-NEXT: movq (%rdi), %rax |
101 |
| -; CHECK-O3-NEXT: retq |
| 78 | +; CHECK-LABEL: load_i64: |
| 79 | +; CHECK: # %bb.0: |
| 80 | +; CHECK-NEXT: movq (%rdi), %rax |
| 81 | +; CHECK-NEXT: retq |
102 | 82 | %v = load atomic i64, i64* %ptr monotonic, align 8
|
103 | 83 | ret i64 %v
|
104 | 84 | }
|
105 | 85 |
|
106 | 86 | define void @store_i64(i64* %ptr, i64 %v) {
|
107 |
| -; CHECK-O0-LABEL: store_i64: |
108 |
| -; CHECK-O0: # %bb.0: |
109 |
| -; CHECK-O0-NEXT: movq %rsi, (%rdi) |
110 |
| -; CHECK-O0-NEXT: retq |
111 |
| -; |
112 |
| -; CHECK-O3-LABEL: store_i64: |
113 |
| -; CHECK-O3: # %bb.0: |
114 |
| -; CHECK-O3-NEXT: movq %rsi, (%rdi) |
115 |
| -; CHECK-O3-NEXT: retq |
| 87 | +; CHECK-LABEL: store_i64: |
| 88 | +; CHECK: # %bb.0: |
| 89 | +; CHECK-NEXT: movq %rsi, (%rdi) |
| 90 | +; CHECK-NEXT: retq |
116 | 91 | store atomic i64 %v, i64* %ptr monotonic, align 8
|
117 | 92 | ret void
|
118 | 93 | }
|
0 commit comments