brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · eafd1e1 Raw
126 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=hawaii -O0 -run-pass=legalizer %s -o - | FileCheck %s3 4---5name: test_atomic_cmpxchg_with_success_s32_global6body: |7  bb.0:8    liveins: $vgpr0_vgpr1, $vgpr2, $vgpr39 10    ; CHECK-LABEL: name: test_atomic_cmpxchg_with_success_s32_global11    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2, $vgpr312    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr114    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr215    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr316    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[COPY2]](s32), [[COPY1]](s32)17    ; CHECK-NEXT: [[AMDGPU_ATOMIC_CMPXCHG:%[0-9]+]]:_(s32) = G_AMDGPU_ATOMIC_CMPXCHG [[COPY]](p1), [[BUILD_VECTOR]] :: (load store syncscope("agent-one-as") monotonic monotonic (s32), addrspace 1)18    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[AMDGPU_ATOMIC_CMPXCHG]](s32), [[COPY1]]19    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY [[AMDGPU_ATOMIC_CMPXCHG]](s32)20    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY3]](s32), implicit [[ICMP]](s1)21  %0:_(p1) = COPY $vgpr0_vgpr122  %1:_(s32) = COPY $vgpr223  %2:_(s32) = COPY $vgpr324  %3:_(s32), %4:_(s1) = G_ATOMIC_CMPXCHG_WITH_SUCCESS %0, %1, %2 :: (load store syncscope("agent-one-as") monotonic monotonic (s32), addrspace 1)25  S_ENDPGM 0, implicit %3, implicit %426 27...28 29---30name: test_atomic_cmpxchg_with_success_s32_flat31body: |32  bb.0:33    liveins: $vgpr0_vgpr1, $vgpr2, $vgpr334 35    ; CHECK-LABEL: name: test_atomic_cmpxchg_with_success_s32_flat36    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2, $vgpr337    ; CHECK-NEXT: {{  $}}38    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $vgpr0_vgpr139    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr240    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr341    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[COPY2]](s32), [[COPY1]](s32)42    ; CHECK-NEXT: [[AMDGPU_ATOMIC_CMPXCHG:%[0-9]+]]:_(s32) = G_AMDGPU_ATOMIC_CMPXCHG [[COPY]](p0), [[BUILD_VECTOR]] :: (load store syncscope("agent-one-as") monotonic monotonic (s32))43    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[AMDGPU_ATOMIC_CMPXCHG]](s32), [[COPY1]]44    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY [[AMDGPU_ATOMIC_CMPXCHG]](s32)45    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY3]](s32), implicit [[ICMP]](s1)46  %0:_(p0) = COPY $vgpr0_vgpr147  %1:_(s32) = COPY $vgpr248  %2:_(s32) = COPY $vgpr349  %3:_(s32), %4:_(s1) = G_ATOMIC_CMPXCHG_WITH_SUCCESS %0, %1, %2 :: (load store syncscope("agent-one-as") monotonic monotonic (s32), addrspace 0)50  S_ENDPGM 0, implicit %3, implicit %451 52...53 54---55name: test_atomic_cmpxchg_with_success_s32_local56body: |57  bb.0:58    liveins: $vgpr0, $vgpr1, $vgpr259 60    ; CHECK-LABEL: name: test_atomic_cmpxchg_with_success_s32_local61    ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr262    ; CHECK-NEXT: {{  $}}63    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr064    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr165    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr266    ; CHECK-NEXT: [[ATOMIC_CMPXCHG:%[0-9]+]]:_(s32) = G_ATOMIC_CMPXCHG [[COPY]](p3), [[COPY1]], [[COPY2]] :: (load store syncscope("agent-one-as") monotonic monotonic (s32), addrspace 3)67    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[ATOMIC_CMPXCHG]](s32), [[COPY1]]68    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY [[ATOMIC_CMPXCHG]](s32)69    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY3]](s32), implicit [[ICMP]](s1)70  %0:_(p3) = COPY $vgpr071  %1:_(s32) = COPY $vgpr172  %2:_(s32) = COPY $vgpr273  %3:_(s32), %4:_(s1) = G_ATOMIC_CMPXCHG_WITH_SUCCESS %0, %1, %2 :: (load store syncscope("agent-one-as") monotonic monotonic (s32), addrspace 3)74  S_ENDPGM 0, implicit %3, implicit %475 76...77 78---79name: test_atomic_cmpxchg_with_success_s64_global80body: |81  bb.0:82    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4_vgpr583 84    ; CHECK-LABEL: name: test_atomic_cmpxchg_with_success_s64_global85    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4_vgpr586    ; CHECK-NEXT: {{  $}}87    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr188    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $vgpr2_vgpr389    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $vgpr4_vgpr590    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[COPY2]](s64), [[COPY1]](s64)91    ; CHECK-NEXT: [[AMDGPU_ATOMIC_CMPXCHG:%[0-9]+]]:_(s64) = G_AMDGPU_ATOMIC_CMPXCHG [[COPY]](p1), [[BUILD_VECTOR]] :: (load store syncscope("agent-one-as") monotonic monotonic (s64), addrspace 1)92    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[AMDGPU_ATOMIC_CMPXCHG]](s64), [[COPY1]]93    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY [[AMDGPU_ATOMIC_CMPXCHG]](s64)94    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY3]](s64), implicit [[ICMP]](s1)95  %0:_(p1) = COPY $vgpr0_vgpr196  %1:_(s64) = COPY $vgpr2_vgpr397  %2:_(s64) = COPY $vgpr4_vgpr598  %3:_(s64), %4:_(s1) = G_ATOMIC_CMPXCHG_WITH_SUCCESS %0, %1, %2 :: (load store syncscope("agent-one-as") monotonic monotonic (s64), addrspace 1)99  S_ENDPGM 0, implicit %3, implicit %4100 101...102 103---104name: test_atomic_cmpxchg_with_success_s64_local105body: |106  bb.0:107    liveins: $vgpr0, $vgpr1_vgpr2, $vgpr3_vgpr4108 109    ; CHECK-LABEL: name: test_atomic_cmpxchg_with_success_s64_local110    ; CHECK: liveins: $vgpr0, $vgpr1_vgpr2, $vgpr3_vgpr4111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0113    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $vgpr1_vgpr2114    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $vgpr3_vgpr4115    ; CHECK-NEXT: [[ATOMIC_CMPXCHG:%[0-9]+]]:_(s64) = G_ATOMIC_CMPXCHG [[COPY]](p3), [[COPY1]], [[COPY2]] :: (load store syncscope("agent-one-as") monotonic monotonic (s64), addrspace 3)116    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[ATOMIC_CMPXCHG]](s64), [[COPY1]]117    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(s64) = COPY [[ATOMIC_CMPXCHG]](s64)118    ; CHECK-NEXT: S_ENDPGM 0, implicit [[COPY3]](s64), implicit [[ICMP]](s1)119  %0:_(p3) = COPY $vgpr0120  %1:_(s64) = COPY $vgpr1_vgpr2121  %2:_(s64) = COPY $vgpr3_vgpr4122  %3:_(s64), %4:_(s1) = G_ATOMIC_CMPXCHG_WITH_SUCCESS %0, %1, %2 :: (load store syncscope("agent-one-as") monotonic monotonic (s64), addrspace 3)123  S_ENDPGM 0, implicit %3, implicit %4124 125...126