Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / legalize-atomicrmw-umax.mir
blobff2ac484403a76d89eaf46bd822b3a8d752ec9e4
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
5 ---
6 name: atomicrmw_umax_global_i32
8 body: |
9   bb.0:
10     liveins: $sgpr0_sgpr1, $sgpr2
11     ; CHECK-LABEL: name: atomicrmw_umax_global_i32
12     ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
13     ; CHECK-NEXT: {{  $}}
14     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $sgpr0_sgpr1
15     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
16     ; CHECK-NEXT: [[ATOMICRMW_UMAX:%[0-9]+]]:_(s32) = G_ATOMICRMW_UMAX [[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_UMAX %0, %1 :: (load store seq_cst (s32), addrspace 1)
20 ...
22 ---
23 name: atomicrmw_umax_local_i32
25 body: |
26   bb.0:
27     liveins: $sgpr0, $sgpr1
28     ; CHECK-LABEL: name: atomicrmw_umax_local_i32
29     ; CHECK: liveins: $sgpr0, $sgpr1
30     ; CHECK-NEXT: {{  $}}
31     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $sgpr0
32     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
33     ; CHECK-NEXT: [[ATOMICRMW_UMAX:%[0-9]+]]:_(s32) = G_ATOMICRMW_UMAX [[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_UMAX %0, %1 :: (load store seq_cst (s32), addrspace 3)
37 ...
39 ---
40 name: atomicrmw_umax_global_i64
42 body: |
43   bb.0:
44     liveins: $sgpr0_sgpr1, $sgpr2
45     ; CHECK-LABEL: name: atomicrmw_umax_global_i64
46     ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
47     ; CHECK-NEXT: {{  $}}
48     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p1) = COPY $sgpr0_sgpr1
49     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
50     ; CHECK-NEXT: [[ATOMICRMW_UMAX:%[0-9]+]]:_(s32) = G_ATOMICRMW_UMAX [[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_UMAX %0, %1 :: (load store seq_cst (s32), addrspace 1)
54 ...
56 ---
57 name: atomicrmw_umax_local_i64
59 body: |
60   bb.0:
61     liveins: $sgpr0, $sgpr1
62     ; CHECK-LABEL: name: atomicrmw_umax_local_i64
63     ; CHECK: liveins: $sgpr0, $sgpr1
64     ; CHECK-NEXT: {{  $}}
65     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $sgpr0
66     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
67     ; CHECK-NEXT: [[ATOMICRMW_UMAX:%[0-9]+]]:_(s32) = G_ATOMICRMW_UMAX [[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_UMAX %0, %1 :: (load store seq_cst (s32), addrspace 3)
71 ...