1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
3 # RUN: llc -mtriple=amdgcn -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
13 ; CHECK-LABEL: name: ptrmask_p1_s_k
14 ; CHECK: liveins: $sgpr0_sgpr1
16 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr1
17 ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1
18 ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:sgpr(p1) = G_PTRMASK [[COPY]], [[C]](s64)
19 %0:_(p1) = COPY $sgpr0_sgpr1
20 %1:_(s64) = G_CONSTANT i64 1
21 %2:_(p1) = G_PTRMASK %0, %1
30 liveins: $sgpr0_sgpr1, $sgpr2_sgpr3
32 ; CHECK-LABEL: name: ptrmask_p1_s_s
33 ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3
35 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr1
36 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr3
37 ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:sgpr(p1) = G_PTRMASK [[COPY]], [[COPY1]](s64)
38 %0:_(p1) = COPY $sgpr0_sgpr1
39 %1:_(s64) = COPY $sgpr2_sgpr3
40 %2:_(p1) = G_PTRMASK %0, %1
51 ; CHECK-LABEL: name: ptrmask_p1_v_k
52 ; CHECK: liveins: $vgpr0_vgpr1
54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1
55 ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1
56 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY [[C]](s64)
57 ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:vgpr(p1) = G_PTRMASK [[COPY]], [[COPY1]](s64)
58 %0:_(p1) = COPY $vgpr0_vgpr1
59 %1:_(s64) = G_CONSTANT i64 1
60 %2:_(p1) = G_PTRMASK %0, %1
69 liveins: $vgpr0_vgpr1, $sgpr0_sgpr1
71 ; CHECK-LABEL: name: ptrmask_p1_v_s
72 ; CHECK: liveins: $vgpr0_vgpr1, $sgpr0_sgpr1
74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1
75 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
76 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY1]](s64)
77 ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:vgpr(p1) = G_PTRMASK [[COPY]], [[COPY2]](s64)
78 %0:_(p1) = COPY $vgpr0_vgpr1
79 %1:_(s64) = COPY $sgpr0_sgpr1
80 %2:_(p1) = G_PTRMASK %0, %1
89 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
91 ; CHECK-LABEL: name: ptrmask_p1_v_v
92 ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
94 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1
95 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3
96 ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:vgpr(p1) = G_PTRMASK [[COPY]], [[COPY1]](s64)
97 %0:_(p1) = COPY $vgpr0_vgpr1
98 %1:_(s64) = COPY $vgpr2_vgpr3
99 %2:_(p1) = G_PTRMASK %0, %1