@@ -26,19 +26,19 @@ __global__ void ffp1(float *p) {
2626 // SAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 4{{$}}
2727 // SAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 4{{$}}
2828 // SAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 4{{$}}
29- // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE:[0-9]+]]{{$}}
30- // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
31- // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
32- // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
29+ // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE:[0-9]+]]{{$}}
30+ // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
31+ // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
32+ // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
3333
3434 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}}
3535 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
3636 // UNSAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
3737 // UNSAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 4, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
3838 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE:[0-9]+]], !amdgpu.no.fine.grained.memory !{{[0-9]+}}, !amdgpu.ignore.denormal.mode !{{[0-9]+$}}
3939 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
40- // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
41- // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
40+ // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
41+ // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
4242
4343 // SAFE: _Z4ffp1Pf
4444 // SAFE: global_atomic_cmpswap
@@ -73,19 +73,19 @@ __global__ void ffp2(double *p) {
7373 // SAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 8{{$}}
7474 // SAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 8{{$}}
7575 // SAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 8{{$}}
76- // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
77- // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
78- // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
79- // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
76+ // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
77+ // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
78+ // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
79+ // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
8080
8181 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
8282 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
8383 // UNSAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
8484 // UNSAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
85- // UNSAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
86- // UNSAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
87- // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
88- // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
85+ // UNSAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
86+ // UNSAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
87+ // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
88+ // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
8989
9090 // SAFE-LABEL: @_Z4ffp2Pd
9191 // SAFE: global_atomic_cmpswap_b64
@@ -119,19 +119,19 @@ __global__ void ffp3(long double *p) {
119119 // SAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 8{{$}}
120120 // SAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 8{{$}}
121121 // SAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 8{{$}}
122- // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
123- // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
124- // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
125- // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
122+ // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
123+ // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
124+ // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
125+ // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
126126
127127 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
128128 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
129129 // UNSAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
130130 // UNSAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 8, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
131- // UNSAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
132- // UNSAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
133- // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
134- // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
131+ // UNSAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
132+ // UNSAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
133+ // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
134+ // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 8, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
135135
136136 // SAFE-LABEL: @_Z4ffp3Pe
137137 // SAFE: global_atomic_cmpswap_b64
@@ -185,19 +185,19 @@ __global__ void ffp6(_Float16 *p) {
185185 // SAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 2{{$}}
186186 // SAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 2{{$}}
187187 // SAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 2{{$}}
188- // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
189- // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
190- // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
191- // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
188+ // SAFEIR: atomicrmw fadd ptr {{.*}} syncscope("agent") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
189+ // SAFEIR: atomicrmw fsub ptr {{.*}} syncscope("workgroup") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
190+ // SAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
191+ // SAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
192192
193193 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 2, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
194194 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 2, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
195195 // UNSAFEIR: atomicrmw fmax ptr {{.*}} monotonic, align 2, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
196196 // UNSAFEIR: atomicrmw fmin ptr {{.*}} monotonic, align 2, !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
197197 // UNSAFEIR: atomicrmw fadd ptr {{.*}} monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
198198 // UNSAFEIR: atomicrmw fsub ptr {{.*}} monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
199- // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
200- // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup-one-as ") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
199+ // UNSAFEIR: atomicrmw fmax ptr {{.*}} syncscope("agent") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
200+ // UNSAFEIR: atomicrmw fmin ptr {{.*}} syncscope("workgroup") monotonic, align 2, !noalias.addrspace ![[$NO_PRIVATE]], !amdgpu.no.fine.grained.memory !{{[0-9]+$}}
201201
202202 // SAFE: _Z4ffp6PDF16
203203 // SAFE: global_atomic_cmpswap
@@ -228,8 +228,8 @@ __global__ void ffp6(_Float16 *p) {
228228// CHECK-LABEL: @_Z12test_cmpxchgPiii
229229// CHECK: cmpxchg ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} acquire acquire, align 4{{$}}
230230// CHECK: cmpxchg weak ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} acquire acquire, align 4{{$}}
231- // CHECK: cmpxchg ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} syncscope("workgroup-one-as ") monotonic monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
232- // CHECK: cmpxchg weak ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} syncscope("workgroup-one-as ") monotonic monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
231+ // CHECK: cmpxchg ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} syncscope("workgroup") monotonic monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
232+ // CHECK: cmpxchg weak ptr %{{.+}}, i32 %{{.+}}, i32 %{{.+}} syncscope("workgroup") monotonic monotonic, align 4, !noalias.addrspace ![[$NO_PRIVATE]]{{$}}
233233__device__ int test_cmpxchg (int *ptr, int cmp, int desired) {
234234 bool flag = __atomic_compare_exchange (ptr, &cmp, &desired, 0 , memory_order_acquire, memory_order_acquire);
235235 flag = __atomic_compare_exchange_n (ptr, &cmp, desired, 1 , memory_order_acquire, memory_order_acquire);
0 commit comments