diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-01-27 22:36:24 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-01-27 22:36:24 +0000 |
| commit | cfca2a7adfce4fb166773a4122a067726a3beefc (patch) | |
| tree | 300d434ce34a476a3f6a3c93734d2cd9e586e2b0 /llvm/test | |
| parent | ebe6b43aecc7d784a66afc63d746b106052ba7e3 (diff) | |
| download | bcm5719-llvm-cfca2a7adfce4fb166773a4122a067726a3beefc.tar.gz bcm5719-llvm-cfca2a7adfce4fb166773a4122a067726a3beefc.zip | |
GlobalISel: Don't reduce elements for atomic load/store
This is invalid for the same reason as in the narrowScalar handling
for load.
llvm-svn: 352334
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/AMDGPU/GlobalISel/no-legalize-atomic.mir | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/no-legalize-atomic.mir b/llvm/test/CodeGen/AMDGPU/GlobalISel/no-legalize-atomic.mir new file mode 100644 index 00000000000..a54a0957e81 --- /dev/null +++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/no-legalize-atomic.mir @@ -0,0 +1,46 @@ +# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer -global-isel-abort=0 -o - %s | FileCheck %s + +# CHECK: %1:_(<8 x s32>) = G_LOAD %0(p1) :: (load monotonic 32, addrspace 1) +# CHECK: G_STORE %1(<8 x s32>), %0(p1) :: (store monotonic 32, addrspace 1) +# CHECK: %1:_(s256) = G_LOAD %0(p1) :: (load monotonic 32, addrspace 1) +# CHECK: G_STORE %1(s256), %0(p1) :: (store monotonic 32, addrspace 1) + +--- +name: test_atomic_load_global_v8s32 +body: | + bb.0: + liveins: $vgpr0_vgpr1 + %0:_(p1) = COPY $vgpr0_vgpr1 + %1:_(<8 x s32>) = G_LOAD %0 :: (load monotonic 32, addrspace 1, align 32) + $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1 +... + +--- +name: test_atomic_store_global_v8s32 +body: | + bb.0: + liveins: $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 + %0:_(p1) = COPY $vgpr0_vgpr1 + %1:_(<8 x s32>) = COPY $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 + G_STORE %1, %0 :: (store monotonic 32, addrspace 1, align 32) +... + +--- +name: test_atomic_load_global_s256 +body: | + bb.0: + liveins: $vgpr0_vgpr1 + %0:_(p1) = COPY $vgpr0_vgpr1 + %1:_(s256) = G_LOAD %0 :: (load monotonic 32, addrspace 1, align 32) + $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = COPY %1 +... + +--- +name: test_atomic_store_global_s256 +body: | + bb.0: + liveins: $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 + %0:_(p1) = COPY $vgpr0_vgpr1 + %1:_(s256) = COPY $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 + G_STORE %1, %0 :: (store monotonic 32, addrspace 1, align 32) +... |

