261 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s3# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s4# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -verify-machineinstrs -o - | FileCheck %s5 6---7name: ptrtoint_s_p08legalized: true9 10body: |11 bb.0:12 liveins: $sgpr0_sgpr113 ; CHECK-LABEL: name: ptrtoint_s_p014 ; CHECK: liveins: $sgpr0_sgpr115 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p0) = COPY $sgpr0_sgpr117 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s64) = G_PTRTOINT [[COPY]](p0)18 %0:_(p0) = COPY $sgpr0_sgpr119 %1:_(s64) = G_PTRTOINT %020...21 22---23name: ptrtoint_v_p024legalized: true25 26body: |27 bb.0:28 liveins: $vgpr0_vgpr129 ; CHECK-LABEL: name: ptrtoint_v_p030 ; CHECK: liveins: $vgpr0_vgpr131 ; CHECK-NEXT: {{ $}}32 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p0) = COPY $vgpr0_vgpr133 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s64) = G_PTRTOINT [[COPY]](p0)34 %0:_(p0) = COPY $vgpr0_vgpr135 %1:_(s64) = G_PTRTOINT %036...37 38---39name: ptrtoint_s_p140legalized: true41 42body: |43 bb.0:44 liveins: $sgpr0_sgpr145 ; CHECK-LABEL: name: ptrtoint_s_p146 ; CHECK: liveins: $sgpr0_sgpr147 ; CHECK-NEXT: {{ $}}48 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr149 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s64) = G_PTRTOINT [[COPY]](p1)50 %0:_(p1) = COPY $sgpr0_sgpr151 %1:_(s64) = G_PTRTOINT %052...53 54---55name: ptrtoint_v_p156legalized: true57 58body: |59 bb.0:60 liveins: $vgpr0_vgpr161 ; CHECK-LABEL: name: ptrtoint_v_p162 ; CHECK: liveins: $vgpr0_vgpr163 ; CHECK-NEXT: {{ $}}64 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr165 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s64) = G_PTRTOINT [[COPY]](p1)66 %0:_(p1) = COPY $vgpr0_vgpr167 %1:_(s64) = G_PTRTOINT %068...69 70---71name: ptrtoint_s_p272legalized: true73 74body: |75 bb.0:76 liveins: $sgpr077 ; CHECK-LABEL: name: ptrtoint_s_p278 ; CHECK: liveins: $sgpr079 ; CHECK-NEXT: {{ $}}80 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p2) = COPY $sgpr081 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s32) = G_PTRTOINT [[COPY]](p2)82 %0:_(p2) = COPY $sgpr083 %1:_(s32) = G_PTRTOINT %084...85 86---87name: ptrtoint_v_p288legalized: true89 90body: |91 bb.0:92 liveins: $vgpr093 ; CHECK-LABEL: name: ptrtoint_v_p294 ; CHECK: liveins: $vgpr095 ; CHECK-NEXT: {{ $}}96 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p2) = COPY $vgpr097 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s32) = G_PTRTOINT [[COPY]](p2)98 %0:_(p2) = COPY $vgpr099 %1:_(s32) = G_PTRTOINT %0100...101 102---103name: ptrtoint_s_p3104legalized: true105 106body: |107 bb.0:108 liveins: $sgpr0109 ; CHECK-LABEL: name: ptrtoint_s_p3110 ; CHECK: liveins: $sgpr0111 ; CHECK-NEXT: {{ $}}112 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0113 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s32) = G_PTRTOINT [[COPY]](p3)114 %0:_(p3) = COPY $sgpr0115 %1:_(s32) = G_PTRTOINT %0116...117 118---119name: ptrtoint_v_p3120legalized: true121 122body: |123 bb.0:124 liveins: $vgpr0125 ; CHECK-LABEL: name: ptrtoint_v_p3126 ; CHECK: liveins: $vgpr0127 ; CHECK-NEXT: {{ $}}128 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0129 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s32) = G_PTRTOINT [[COPY]](p3)130 %0:_(p3) = COPY $vgpr0131 %1:_(s32) = G_PTRTOINT %0132...133 134---135name: ptrtoint_s_p4136legalized: true137 138body: |139 bb.0:140 liveins: $sgpr0_sgpr1141 ; CHECK-LABEL: name: ptrtoint_s_p4142 ; CHECK: liveins: $sgpr0_sgpr1143 ; CHECK-NEXT: {{ $}}144 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1145 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s64) = G_PTRTOINT [[COPY]](p4)146 %0:_(p4) = COPY $sgpr0_sgpr1147 %1:_(s64) = G_PTRTOINT %0148...149 150---151name: ptrtoint_v_p4152legalized: true153 154body: |155 bb.0:156 liveins: $vgpr0_vgpr1157 ; CHECK-LABEL: name: ptrtoint_v_p4158 ; CHECK: liveins: $vgpr0_vgpr1159 ; CHECK-NEXT: {{ $}}160 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p4) = COPY $vgpr0_vgpr1161 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s64) = G_PTRTOINT [[COPY]](p4)162 %0:_(p4) = COPY $vgpr0_vgpr1163 %1:_(s64) = G_PTRTOINT %0164...165 166---167name: ptrtoint_s_p5168legalized: true169 170body: |171 bb.0:172 liveins: $sgpr0173 ; CHECK-LABEL: name: ptrtoint_s_p5174 ; CHECK: liveins: $sgpr0175 ; CHECK-NEXT: {{ $}}176 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p5) = COPY $sgpr0177 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s32) = G_PTRTOINT [[COPY]](p5)178 %0:_(p5) = COPY $sgpr0179 %1:_(s32) = G_PTRTOINT %0180...181 182---183name: ptrtoint_v_p5184legalized: true185 186body: |187 bb.0:188 liveins: $vgpr0189 ; CHECK-LABEL: name: ptrtoint_v_p5190 ; CHECK: liveins: $vgpr0191 ; CHECK-NEXT: {{ $}}192 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p5) = COPY $vgpr0193 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s32) = G_PTRTOINT [[COPY]](p5)194 %0:_(p5) = COPY $vgpr0195 %1:_(s32) = G_PTRTOINT %0196...197 198---199name: ptrtoint_s_p6200legalized: true201 202body: |203 bb.0:204 liveins: $sgpr0205 ; CHECK-LABEL: name: ptrtoint_s_p6206 ; CHECK: liveins: $sgpr0207 ; CHECK-NEXT: {{ $}}208 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p6) = COPY $sgpr0209 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s32) = G_PTRTOINT [[COPY]](p6)210 %0:_(p6) = COPY $sgpr0211 %1:_(s32) = G_PTRTOINT %0212...213 214---215name: ptrtoint_v_p6216legalized: true217 218body: |219 bb.0:220 liveins: $vgpr0221 ; CHECK-LABEL: name: ptrtoint_v_p6222 ; CHECK: liveins: $vgpr0223 ; CHECK-NEXT: {{ $}}224 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p6) = COPY $vgpr0225 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s32) = G_PTRTOINT [[COPY]](p6)226 %0:_(p6) = COPY $vgpr0227 %1:_(s32) = G_PTRTOINT %0228...229 230---231name: ptrtoint_s_p8232legalized: true233 234body: |235 bb.0:236 liveins: $sgpr0_sgpr1_sgpr2_sgpr3237 ; CHECK-LABEL: name: ptrtoint_s_p8238 ; CHECK: liveins: $sgpr0_sgpr1_sgpr2_sgpr3239 ; CHECK-NEXT: {{ $}}240 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p8) = COPY $sgpr0_sgpr1_sgpr2_sgpr3241 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:sgpr(s128) = G_PTRTOINT [[COPY]](p8)242 %0:_(p8) = COPY $sgpr0_sgpr1_sgpr2_sgpr3243 %1:_(s128) = G_PTRTOINT %0244...245 246---247name: ptrtoint_v_p8248legalized: true249 250body: |251 bb.0:252 liveins: $vgpr0_vgpr1_vgpr2_vgpr3253 ; CHECK-LABEL: name: ptrtoint_v_p8254 ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3255 ; CHECK-NEXT: {{ $}}256 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p8) = COPY $vgpr0_vgpr1_vgpr2_vgpr3257 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:vgpr(s128) = G_PTRTOINT [[COPY]](p8)258 %0:_(p8) = COPY $vgpr0_vgpr1_vgpr2_vgpr3259 %1:_(s128) = G_PTRTOINT %0260...261