diff options
author | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2018-02-13 20:03:32 +0000 |
---|---|---|
committer | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2018-02-13 20:03:32 +0000 |
commit | 127dbdbb0251c0dba77c78698a9748fbdf90bbe4 (patch) | |
tree | 41d433f2d2a30461a2d2a7d943d605c6d0453042 | |
parent | 984251c7cb7965c732d84ba435ba454900652ac5 (diff) | |
download | bcm5719-llvm-127dbdbb0251c0dba77c78698a9748fbdf90bbe4.tar.gz bcm5719-llvm-127dbdbb0251c0dba77c78698a9748fbdf90bbe4.zip |
[AMDGPU] Cleanup in memory legalizer tests. NFC.
llvm-svn: 325042
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-cmpxchg.ll | 506 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll | 50 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-rmw.ll | 254 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll | 144 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/memory-legalizer-store.ll | 104 |
5 files changed, 531 insertions, 527 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-cmpxchg.ll b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-cmpxchg.ll index 337dbd1e64f..73354053799 100644 --- a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-cmpxchg.ll +++ b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-cmpxchg.ll @@ -1,11 +1,11 @@ -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck %s - -; CHECK-LABEL: {{^}}system_monotonic_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX8 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX8 %s + +; GCN-LABEL: {{^}}system_monotonic_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @system_monotonic_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -14,11 +14,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acquire_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acquire_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acquire_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -27,11 +27,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_release_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_release_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @system_release_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -40,11 +40,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acq_rel_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acq_rel_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acq_rel_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -53,11 +53,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_seq_cst_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_seq_cst_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_seq_cst_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -66,11 +66,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acquire_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acquire_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acquire_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -79,11 +79,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_release_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_release_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_release_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -92,11 +92,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acq_rel_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acq_rel_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acq_rel_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -105,11 +105,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_seq_cst_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_seq_cst_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_seq_cst_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -118,11 +118,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_seq_cst_seq_cst -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_seq_cst_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_seq_cst_seq_cst( i32* %out, i32 %in, i32 %old) { entry: @@ -131,11 +131,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_monotonic_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_monotonic_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_monotonic_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -144,11 +144,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acquire_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acquire_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acquire_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -157,11 +157,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_release_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_release_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_release_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -170,11 +170,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acq_rel_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acq_rel_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acq_rel_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -183,11 +183,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_seq_cst_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_seq_cst_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_seq_cst_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -196,11 +196,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acquire_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acquire_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acquire_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -209,11 +209,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_release_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_release_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_release_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -222,11 +222,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acq_rel_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acq_rel_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acq_rel_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -235,11 +235,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_seq_cst_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_seq_cst_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_seq_cst_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -248,11 +248,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_seq_cst_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_seq_cst_seq_cst: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_seq_cst_seq_cst( i32* %out, i32 %in, i32 %old) { entry: @@ -261,11 +261,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_monotonic_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_monotonic_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_monotonic_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -274,11 +274,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acquire_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acquire_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acquire_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -287,11 +287,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_release_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_release_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_release_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -300,11 +300,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acq_rel_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acq_rel_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acq_rel_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -313,11 +313,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_seq_cst_monotonic -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_seq_cst_monotonic: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_seq_cst_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -326,11 +326,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acquire_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acquire_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acquire_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -339,11 +339,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_release_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_release_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_release_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -352,11 +352,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acq_rel_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acq_rel_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acq_rel_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -365,11 +365,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_seq_cst_acquire -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_seq_cst_acquire: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_seq_cst_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -378,11 +378,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_seq_cst_seq_cst -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_seq_cst_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_seq_cst_seq_cst( i32* %out, i32 %in, i32 %old) { entry: @@ -391,11 +391,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_monotonic_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_monotonic_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_monotonic_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -404,11 +404,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acquire_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acquire_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acquire_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -417,11 +417,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_release_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_release_monotonic: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_release_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -430,11 +430,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acq_rel_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acq_rel_monotonic: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acq_rel_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -443,11 +443,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_seq_cst_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_seq_cst_monotonic: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_seq_cst_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -456,11 +456,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acquire_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acquire_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acquire_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -469,11 +469,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_release_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_release_acquire: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_release_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -482,11 +482,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acq_rel_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acq_rel_acquire: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acq_rel_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -495,11 +495,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_seq_cst_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_seq_cst_acquire: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_seq_cst_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -508,11 +508,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_seq_cst_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_seq_cst_seq_cst: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_seq_cst_seq_cst( i32* %out, i32 %in, i32 %old) { entry: @@ -521,11 +521,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_monotonic_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_monotonic_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_monotonic_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -534,11 +534,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acquire_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acquire_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acquire_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -547,11 +547,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_release_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_release_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_release_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -560,11 +560,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acq_rel_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acq_rel_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acq_rel_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -573,11 +573,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_seq_cst_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_seq_cst_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_seq_cst_monotonic( i32* %out, i32 %in, i32 %old) { entry: @@ -586,11 +586,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acquire_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acquire_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acquire_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -599,11 +599,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_release_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_release_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_release_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -612,11 +612,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acq_rel_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acq_rel_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acq_rel_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -625,11 +625,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_seq_cst_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_seq_cst_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_seq_cst_acquire( i32* %out, i32 %in, i32 %old) { entry: @@ -638,11 +638,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_seq_cst_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_seq_cst_seq_cst: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_cmpswap v[{{[0-9]+\:[0-9]+}}], v[{{[0-9]+}}:{{[0-9]+}}]{{( offset:[0-9]+)*}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_seq_cst_seq_cst( i32* %out, i32 %in, i32 %old) { entry: diff --git a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll index c8e920a1854..02104826e6a 100644 --- a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll +++ b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-fence.ll @@ -1,8 +1,8 @@ -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx600 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX6 %s -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX8 %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefix=FUNC -check-prefix=GCN -check-prefix=GFX8 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx600 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GFX6,GFX68 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GFX8,GFX68 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=FUNC,GCN,GFX8,GFX68 %s -; FUNC-LABEL: {{^}}system_acquire +; FUNC-LABEL: {{^}}system_acquire: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GFX6: s_waitcnt vmcnt(0){{$}} @@ -16,7 +16,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}system_release +; FUNC-LABEL: {{^}}system_release: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -27,7 +27,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}system_acq_rel +; FUNC-LABEL: {{^}}system_acq_rel: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -40,7 +40,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}system_seq_cst +; FUNC-LABEL: {{^}}system_seq_cst: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -53,7 +53,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}singlethread_acquire +; FUNC-LABEL: {{^}}singlethread_acquire: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -63,7 +63,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}singlethread_release +; FUNC-LABEL: {{^}}singlethread_release: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -73,7 +73,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}singlethread_acq_rel +; FUNC-LABEL: {{^}}singlethread_acq_rel: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -83,7 +83,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}singlethread_seq_cst +; FUNC-LABEL: {{^}}singlethread_seq_cst: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -93,7 +93,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}agent_acquire +; FUNC-LABEL: {{^}}agent_acquire: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GFX6: s_waitcnt vmcnt(0){{$}} @@ -107,7 +107,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}agent_release +; FUNC-LABEL: {{^}}agent_release: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -118,7 +118,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}agent_acq_rel +; FUNC-LABEL: {{^}}agent_acq_rel: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -131,7 +131,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}agent_seq_cst +; FUNC-LABEL: {{^}}agent_seq_cst: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_waitcnt vmcnt(0){{$}} @@ -144,8 +144,9 @@ entry: ret void } -; FUNC-LABEL: {{^}}workgroup_acquire +; FUNC-LABEL: {{^}}workgroup_acquire: ; GCN: %bb.0 +; GFX68-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm define amdgpu_kernel void @workgroup_acquire() { @@ -154,8 +155,9 @@ entry: ret void } -; FUNC-LABEL: {{^}}workgroup_release +; FUNC-LABEL: {{^}}workgroup_release: ; GCN: %bb.0 +; GFX68-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm define amdgpu_kernel void @workgroup_release() { @@ -164,8 +166,9 @@ entry: ret void } -; FUNC-LABEL: {{^}}workgroup_acq_rel +; FUNC-LABEL: {{^}}workgroup_acq_rel: ; GCN: %bb.0 +; GFX68-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm define amdgpu_kernel void @workgroup_acq_rel() { @@ -174,8 +177,9 @@ entry: ret void } -; FUNC-LABEL: {{^}}workgroup_seq_cst +; FUNC-LABEL: {{^}}workgroup_seq_cst: ; GCN: %bb.0 +; GFX68-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm define amdgpu_kernel void @workgroup_seq_cst() { @@ -184,7 +188,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}wavefront_acquire +; FUNC-LABEL: {{^}}wavefront_acquire: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -194,7 +198,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}wavefront_release +; FUNC-LABEL: {{^}}wavefront_release: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -204,7 +208,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}wavefront_acq_rel +; FUNC-LABEL: {{^}}wavefront_acq_rel: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm @@ -214,7 +218,7 @@ entry: ret void } -; FUNC-LABEL: {{^}}wavefront_seq_cst +; FUNC-LABEL: {{^}}wavefront_seq_cst: ; GCN: %bb.0 ; GCN-NOT: ATOMIC_FENCE ; GCN: s_endpgm diff --git a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-rmw.ll b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-rmw.ll index ae265f92cf0..7bf4b93ec84 100644 --- a/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-rmw.ll +++ b/llvm/test/CodeGen/AMDGPU/memory-legalizer-atomic-rmw.ll @@ -1,11 +1,11 @@ -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX8 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX8 %s -; CHECK-LABEL: {{^}}system_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @system_monotonic( i32* %out, i32 %in) { entry: @@ -13,11 +13,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acquire( i32* %out, i32 %in) { entry: @@ -25,11 +25,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_release -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_release: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @system_release( i32* %out, i32 %in) { entry: @@ -37,11 +37,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_acq_rel -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_acq_rel: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_acq_rel( i32* %out, i32 %in) { entry: @@ -49,11 +49,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}system_seq_cst -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}system_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @system_seq_cst( i32* %out, i32 %in) { entry: @@ -61,11 +61,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_monotonic( i32* %out, i32 %in) { entry: @@ -73,11 +73,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acquire( i32* %out, i32 %in) { entry: @@ -85,11 +85,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_release -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_release: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_release( i32* %out, i32 %in) { entry: @@ -97,11 +97,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_acq_rel -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_acq_rel: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_acq_rel( i32* %out, i32 %in) { entry: @@ -109,11 +109,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}singlethread_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}singlethread_seq_cst: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @singlethread_seq_cst( i32* %out, i32 %in) { entry: @@ -121,11 +121,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_monotonic( i32* %out, i32 %in) { entry: @@ -133,11 +133,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acquire( i32* %out, i32 %in) { entry: @@ -145,11 +145,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_release -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_release: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_release( i32* %out, i32 %in) { entry: @@ -157,11 +157,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_acq_rel -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_acq_rel: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_acq_rel( i32* %out, i32 %in) { entry: @@ -169,11 +169,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}agent_seq_cst -; CHECK: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NEXT: s_waitcnt vmcnt(0){{$}} -; CHECK-NEXT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}agent_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX8-NEXT: buffer_wbinvl1_vol define amdgpu_kernel void @agent_seq_cst( i32* %out, i32 %in) { entry: @@ -181,11 +181,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_monotonic( i32* %out, i32 %in) { entry: @@ -193,11 +193,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acquire( i32* %out, i32 %in) { entry: @@ -205,11 +205,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_release -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_release: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_release( i32* %out, i32 %in) { entry: @@ -217,11 +217,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_acq_rel -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_acq_rel: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_acq_rel( i32* %out, i32 %in) { entry: @@ -229,11 +229,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}workgroup_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}workgroup_seq_cst: +; GFX8-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GFX8-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @workgroup_seq_cst( i32* %out, i32 %in) { entry: @@ -241,11 +241,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_monotonic -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_monotonic: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_monotonic( i32* %out, i32 %in) { entry: @@ -253,11 +253,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acquire -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acquire( i32* %out, i32 %in) { entry: @@ -265,11 +265,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_release -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_release: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_release( i32* %out, i32 %in) { entry: @@ -277,11 +277,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_acq_rel -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_acq_rel: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_acq_rel( i32* %out, i32 %in) { entry: @@ -289,11 +289,11 @@ entry: ret void } -; CHECK-LABEL: {{^}}wavefront_seq_cst -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} -; CHECK-NOT: s_waitcnt vmcnt(0){{$}} -; CHECK-NOT: buffer_wbinvl1_vol +; GCN-LABEL: {{^}}wavefront_seq_cst: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_atomic_swap v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}{{$}} +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN-NOT: buffer_wbinvl1_vol define amdgpu_kernel void @wavefront_seq_cst( i32* %out, i32 %in) { entry: diff --git a/llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll b/llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll index 1b0f00a924f..d64e240d791 100644 --- a/llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll +++ b/llvm/test/CodeGen/AMDGPU/memory-legalizer-load.ll @@ -1,11 +1,11 @@ -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX8 %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX8 %s -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX9 %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX9 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX8,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX8,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX9,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX9,GFX89 %s declare i32 @llvm.amdgcn.workitem.id.x() -; GCN-LABEL: {{^}}system_unordered +; GCN-LABEL: {{^}}system_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -19,9 +19,9 @@ entry: ret void } -; GCN-LABEL: {{^}}system_monotonic +; GCN-LABEL: {{^}}system_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: buffer_wbinvl1_vol ; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] @@ -33,12 +33,12 @@ entry: ret void } -; GCN-LABEL: {{^}}system_acquire -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} -; GCN-NEXT: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}system_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX89-NEXT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @system_acquire( i32* %in, i32* %out) { entry: @@ -47,12 +47,12 @@ entry: ret void } -; GCN-LABEL: {{^}}system_seq_cst -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} -; GCN-NEXT: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}system_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX89-NEXT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @system_seq_cst( i32* %in, i32* %out) { entry: @@ -61,7 +61,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_unordered +; GCN-LABEL: {{^}}singlethread_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -75,7 +75,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_monotonic +; GCN-LABEL: {{^}}singlethread_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -89,7 +89,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_acquire +; GCN-LABEL: {{^}}singlethread_acquire: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -103,7 +103,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_seq_cst +; GCN-LABEL: {{^}}singlethread_seq_cst: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -117,7 +117,7 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_unordered +; GCN-LABEL: {{^}}agent_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -131,9 +131,9 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_monotonic +; GCN-LABEL: {{^}}agent_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: buffer_wbinvl1_vol ; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] @@ -145,12 +145,12 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_acquire -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} -; GCN-NEXT: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}agent_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX89-NEXT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @agent_acquire( i32* %in, i32* %out) { entry: @@ -159,12 +159,12 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_seq_cst -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} -; GCN-NEXT: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}agent_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}] glc{{$}} +; GCN-NEXT: s_waitcnt vmcnt(0){{$}} +; GFX89-NEXT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @agent_seq_cst( i32* %in, i32* %out) { entry: @@ -173,9 +173,9 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_unordered +; GCN-LABEL: {{^}}workgroup_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: buffer_wbinvl1_vol ; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] @@ -187,9 +187,9 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_monotonic +; GCN-LABEL: {{^}}workgroup_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN-NOT: buffer_wbinvl1_vol ; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] @@ -201,12 +201,12 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_acquire -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN-NOT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}workgroup_acquire: +; GCN-NOT: s_waitcnt vmcnt(0){{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} +; GFX89-NOT: s_waitcnt vmcnt(0){{$}} +; GFX89-NOT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @workgroup_acquire( i32* %in, i32* %out) { entry: @@ -215,12 +215,12 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_seq_cst -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN-NOT: buffer_wbinvl1_vol -; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] +; GCN-LABEL: {{^}}workgroup_seq_cst: +; GFX89-NOT: s_waitcnt vmcnt(0){{$}} +; GFX89: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} +; GFX89-NOT: s_waitcnt vmcnt(0){{$}} +; GFX89-NOT: buffer_wbinvl1_vol +; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[RET]] define amdgpu_kernel void @workgroup_seq_cst( i32* %in, i32* %out) { entry: @@ -229,7 +229,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_unordered +; GCN-LABEL: {{^}}wavefront_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -243,7 +243,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_monotonic +; GCN-LABEL: {{^}}wavefront_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -257,7 +257,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_acquire +; GCN-LABEL: {{^}}wavefront_acquire: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -271,7 +271,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_seq_cst +; GCN-LABEL: {{^}}wavefront_seq_cst: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_load_dword [[RET:v[0-9]+]], v[{{[0-9]+}}:{{[0-9]+}}]{{$}} ; GCN-NOT: s_waitcnt vmcnt(0){{$}} @@ -285,8 +285,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_private_0 -; GCN: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_private_0: +; GFX89: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} define amdgpu_kernel void @nontemporal_private_0( i32 addrspace(5)* %in, i32* %out) { entry: @@ -295,8 +295,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_private_1 -; GCN: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_private_1: +; GFX89: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} define amdgpu_kernel void @nontemporal_private_1( i32 addrspace(5)* %in, i32* %out) { entry: @@ -307,7 +307,7 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_global_0 +; GCN-LABEL: {{^}}nontemporal_global_0: ; GCN: s_load_dword s{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], 0x0{{$}} define amdgpu_kernel void @nontemporal_global_0( i32 addrspace(1)* %in, i32* %out) { @@ -317,9 +317,9 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_global_1 -; GFX8: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} -; GFX9: global_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}], off glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_global_1: +; GFX8: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} +; GFX9: global_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}], off glc slc{{$}} define amdgpu_kernel void @nontemporal_global_1( i32 addrspace(1)* %in, i32* %out) { entry: @@ -330,7 +330,7 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_local_0 +; GCN-LABEL: {{^}}nontemporal_local_0: ; GCN: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}}{{$}} define amdgpu_kernel void @nontemporal_local_0( i32 addrspace(3)* %in, i32* %out) { @@ -340,7 +340,7 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_local_1 +; GCN-LABEL: {{^}}nontemporal_local_1: ; GCN: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}}{{$}} define amdgpu_kernel void @nontemporal_local_1( i32 addrspace(3)* %in, i32* %out) { @@ -352,8 +352,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_flat_0 -; GCN: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_flat_0: +; GFX89: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} define amdgpu_kernel void @nontemporal_flat_0( i32* %in, i32* %out) { entry: @@ -362,8 +362,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_flat_1 -; GCN: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_flat_1: +; GFX89: flat_load_dword v{{[0-9]+}}, v[{{[0-9]+}}:{{[0-9]+}}] glc slc{{$}} define amdgpu_kernel void @nontemporal_flat_1( i32* %in, i32* %out) { entry: diff --git a/llvm/test/CodeGen/AMDGPU/memory-legalizer-store.ll b/llvm/test/CodeGen/AMDGPU/memory-legalizer-store.ll index 296ef1623f3..7bec74d36c8 100644 --- a/llvm/test/CodeGen/AMDGPU/memory-legalizer-store.ll +++ b/llvm/test/CodeGen/AMDGPU/memory-legalizer-store.ll @@ -1,11 +1,11 @@ -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX8 %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX8 %s -; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX9 %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX9 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX8,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX8,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd- -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX9,GFX89 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck --check-prefixes=GCN,GFX9,GFX89 %s declare i32 @llvm.amdgcn.workitem.id.x() -; GCN-LABEL: {{^}}system_unordered +; GCN-LABEL: {{^}}system_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @system_unordered( @@ -15,7 +15,7 @@ entry: ret void } -; GCN-LABEL: {{^}}system_monotonic +; GCN-LABEL: {{^}}system_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @system_monotonic( @@ -25,9 +25,9 @@ entry: ret void } -; GCN-LABEL: {{^}}system_release -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}system_release: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @system_release( i32 %in, i32* %out) { entry: @@ -35,9 +35,9 @@ entry: ret void } -; GCN-LABEL: {{^}}system_seq_cst -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}system_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @system_seq_cst( i32 %in, i32* %out) { entry: @@ -45,7 +45,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_unordered +; GCN-LABEL: {{^}}singlethread_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @singlethread_unordered( @@ -55,7 +55,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_monotonic +; GCN-LABEL: {{^}}singlethread_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @singlethread_monotonic( @@ -65,7 +65,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_release +; GCN-LABEL: {{^}}singlethread_release: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @singlethread_release( @@ -75,7 +75,7 @@ entry: ret void } -; GCN-LABEL: {{^}}singlethread_seq_cst +; GCN-LABEL: {{^}}singlethread_seq_cst: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @singlethread_seq_cst( @@ -85,7 +85,7 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_unordered +; GCN-LABEL: {{^}}agent_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @agent_unordered( @@ -95,7 +95,7 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_monotonic +; GCN-LABEL: {{^}}agent_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @agent_monotonic( @@ -105,9 +105,9 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_release -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}agent_release: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @agent_release( i32 %in, i32* %out) { entry: @@ -115,9 +115,9 @@ entry: ret void } -; GCN-LABEL: {{^}}agent_seq_cst -; GCN: s_waitcnt vmcnt(0){{$}} -; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}agent_seq_cst: +; GCN: s_waitcnt vmcnt(0){{$}} +; GCN-NEXT: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @agent_seq_cst( i32 %in, i32* %out) { entry: @@ -125,7 +125,7 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_unordered +; GCN-LABEL: {{^}}workgroup_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @workgroup_unordered( @@ -135,7 +135,7 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_monotonic +; GCN-LABEL: {{^}}workgroup_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @workgroup_monotonic( @@ -145,9 +145,9 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_release -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}workgroup_release: +; GFX89-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @workgroup_release( i32 %in, i32* %out) { entry: @@ -155,9 +155,9 @@ entry: ret void } -; GCN-LABEL: {{^}}workgroup_seq_cst -; GCN-NOT: s_waitcnt vmcnt(0){{$}} -; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} +; GCN-LABEL: {{^}}workgroup_seq_cst: +; GFX89-NOT: s_waitcnt vmcnt(0){{$}} +; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @workgroup_seq_cst( i32 %in, i32* %out) { entry: @@ -165,7 +165,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_unordered +; GCN-LABEL: {{^}}wavefront_unordered: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @wavefront_unordered( @@ -175,7 +175,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_monotonic +; GCN-LABEL: {{^}}wavefront_monotonic: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @wavefront_monotonic( @@ -185,7 +185,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_release +; GCN-LABEL: {{^}}wavefront_release: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @wavefront_release( @@ -195,7 +195,7 @@ entry: ret void } -; GCN-LABEL: {{^}}wavefront_seq_cst +; GCN-LABEL: {{^}}wavefront_seq_cst: ; GCN-NOT: s_waitcnt vmcnt(0){{$}} ; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], {{v[0-9]+}}{{$}} define amdgpu_kernel void @wavefront_seq_cst( @@ -205,8 +205,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_private_0 -; GCN: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_private_0: +; GFX89: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} define amdgpu_kernel void @nontemporal_private_0( i32* %in, i32 addrspace(5)* %out) { entry: @@ -215,8 +215,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_private_1 -; GCN: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_private_1: +; GFX89: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+}}:{{[0-9]+}}], s{{[0-9]+}} offen glc slc{{$}} define amdgpu_kernel void @nontemporal_private_1( i32* %in, i32 addrspace(5)* %out) { entry: @@ -227,9 +227,9 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_global_0 -; GFX8: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} -; GFX9: global_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}, off glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_global_0: +; GFX8: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} +; GFX9: global_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}, off glc slc{{$}} define amdgpu_kernel void @nontemporal_global_0( i32* %in, i32 addrspace(1)* %out) { entry: @@ -238,9 +238,9 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_global_1 -; GFX8: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} -; GFX9: global_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}, off glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_global_1: +; GFX8: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} +; GFX9: global_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}}, off glc slc{{$}} define amdgpu_kernel void @nontemporal_global_1( i32* %in, i32 addrspace(1)* %out) { entry: @@ -251,7 +251,7 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_local_0 +; GCN-LABEL: {{^}}nontemporal_local_0: ; GCN: ds_write_b32 v{{[0-9]+}}, v{{[0-9]+}}{{$}} define amdgpu_kernel void @nontemporal_local_0( i32* %in, i32 addrspace(3)* %out) { @@ -261,7 +261,7 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_local_1 +; GCN-LABEL: {{^}}nontemporal_local_1: ; GCN: ds_write_b32 v{{[0-9]+}}, v{{[0-9]+}}{{$}} define amdgpu_kernel void @nontemporal_local_1( i32* %in, i32 addrspace(3)* %out) { @@ -273,8 +273,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_flat_0 -; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_flat_0: +; GFX89: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} define amdgpu_kernel void @nontemporal_flat_0( i32* %in, i32* %out) { entry: @@ -283,8 +283,8 @@ entry: ret void } -; GCN-LABEL: {{^}}nontemporal_flat_1 -; GCN: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} +; GCN-LABEL: {{^}}nontemporal_flat_1: +; GFX89: flat_store_dword v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} glc slc{{$}} define amdgpu_kernel void @nontemporal_flat_1( i32* %in, i32* %out) { entry: |