1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -O0 -run-pass=legalizer %s -o - | FileCheck %s
3 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer %s -o - | FileCheck %s
6 name: atomicrmw_sub_global_i32
10 liveins: $sgpr0_sgpr1, $sgpr2
11 ; CHECK-LABEL: name: atomicrmw_sub_global_i32
12 ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $sgpr0_sgpr1
15 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
16 ; CHECK-NEXT: [[ATOMICRMW_SUB:%[0-9]+]]:_(s32) = G_ATOMICRMW_SUB [[COPY]](p1), [[COPY1]] :: (load store seq_cst (s32), addrspace 1)
17 %0:_(p1) = COPY $sgpr0_sgpr1
18 %1:_(s32) = COPY $sgpr2
19 %2:_(s32) = G_ATOMICRMW_SUB %0, %1 :: (load store seq_cst (s32), addrspace 1)
23 name: atomicrmw_sub_local_i32
27 liveins: $sgpr0, $sgpr1
28 ; CHECK-LABEL: name: atomicrmw_sub_local_i32
29 ; CHECK: liveins: $sgpr0, $sgpr1
31 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $sgpr0
32 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
33 ; CHECK-NEXT: [[ATOMICRMW_SUB:%[0-9]+]]:_(s32) = G_ATOMICRMW_SUB [[COPY]](p3), [[COPY1]] :: (load store seq_cst (s32), addrspace 3)
34 %0:_(p3) = COPY $sgpr0
35 %1:_(s32) = COPY $sgpr1
36 %2:_(s32) = G_ATOMICRMW_SUB %0, %1 :: (load store seq_cst (s32), addrspace 3)
40 name: atomicrmw_sub_global_i64
44 liveins: $sgpr0_sgpr1, $sgpr2
45 ; CHECK-LABEL: name: atomicrmw_sub_global_i64
46 ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
48 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $sgpr0_sgpr1
49 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
50 ; CHECK-NEXT: [[ATOMICRMW_SUB:%[0-9]+]]:_(s32) = G_ATOMICRMW_SUB [[COPY]](p1), [[COPY1]] :: (load store seq_cst (s32), addrspace 1)
51 %0:_(p1) = COPY $sgpr0_sgpr1
52 %1:_(s32) = COPY $sgpr2
53 %2:_(s32) = G_ATOMICRMW_SUB %0, %1 :: (load store seq_cst (s32), addrspace 1)
57 name: atomicrmw_sub_local_i64
61 liveins: $sgpr0, $sgpr1
62 ; CHECK-LABEL: name: atomicrmw_sub_local_i64
63 ; CHECK: liveins: $sgpr0, $sgpr1
65 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $sgpr0
66 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
67 ; CHECK-NEXT: [[ATOMICRMW_SUB:%[0-9]+]]:_(s32) = G_ATOMICRMW_SUB [[COPY]](p3), [[COPY1]] :: (load store seq_cst (s32), addrspace 3)
68 %0:_(p3) = COPY $sgpr0
69 %1:_(s32) = COPY $sgpr1
70 %2:_(s32) = G_ATOMICRMW_SUB %0, %1 :: (load store seq_cst (s32), addrspace 3)