brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.9 KiB · 57b7a82 Raw
488 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -o - | FileCheck %s3 4---5name: gep_p0_s_k6legalized: true7 8body: |9  bb.0:10    liveins: $sgpr0_sgpr111 12    ; CHECK-LABEL: name: gep_p0_s_k13    ; CHECK: liveins: $sgpr0_sgpr114    ; CHECK-NEXT: {{  $}}15    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p0) = COPY $sgpr0_sgpr116    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 117    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p0) = G_PTR_ADD [[COPY]], [[C]](s64)18    %0:_(p0) = COPY $sgpr0_sgpr119    %1:_(s64) = G_CONSTANT i64 120    %2:_(p0) = G_PTR_ADD %0, %121...22 23---24name: gep_p0_s_s25legalized: true26 27body: |28  bb.0:29    liveins: $sgpr0_sgpr1, $sgpr2_sgpr330 31    ; CHECK-LABEL: name: gep_p0_s_s32    ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2_sgpr333    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p0) = COPY $sgpr0_sgpr135    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr336    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p0) = G_PTR_ADD [[COPY]], [[COPY1]](s64)37    %0:_(p0) = COPY $sgpr0_sgpr138    %1:_(s64) = COPY $sgpr2_sgpr339    %2:_(p0) = G_PTR_ADD %0, %140...41 42---43name: gep_p0_v_k44legalized: true45 46body: |47  bb.0:48    liveins: $vgpr0_vgpr149 50    ; CHECK-LABEL: name: gep_p0_v_k51    ; CHECK: liveins: $vgpr0_vgpr152    ; CHECK-NEXT: {{  $}}53    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p0) = COPY $vgpr0_vgpr154    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 155    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY [[C]](s64)56    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p0) = G_PTR_ADD [[COPY]], [[COPY1]](s64)57    %0:_(p0) = COPY $vgpr0_vgpr158    %1:_(s64) = G_CONSTANT i64 159    %2:_(p0) = G_PTR_ADD %0, %160...61 62---63name: gep_p0_v_s64legalized: true65 66body: |67  bb.0:68    liveins: $vgpr0_vgpr1, $sgpr0_sgpr169 70    ; CHECK-LABEL: name: gep_p0_v_s71    ; CHECK: liveins: $vgpr0_vgpr1, $sgpr0_sgpr172    ; CHECK-NEXT: {{  $}}73    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p0) = COPY $vgpr0_vgpr174    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr175    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY1]](s64)76    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p0) = G_PTR_ADD [[COPY]], [[COPY2]](s64)77    %0:_(p0) = COPY $vgpr0_vgpr178    %1:_(s64) = COPY $sgpr0_sgpr179    %2:_(p0) = G_PTR_ADD %0, %180...81 82---83name: gep_p0_v_v84legalized: true85 86body: |87  bb.0:88    liveins: $vgpr0_vgpr1, $vgpr2_vgpr389 90    ; CHECK-LABEL: name: gep_p0_v_v91    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr392    ; CHECK-NEXT: {{  $}}93    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p0) = COPY $vgpr0_vgpr194    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr395    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p0) = G_PTR_ADD [[COPY]], [[COPY1]](s64)96    %0:_(p0) = COPY $vgpr0_vgpr197    %1:_(s64) = COPY $vgpr2_vgpr398    %2:_(p0) = G_PTR_ADD %0, %199...100 101---102name: gep_p1_s_k103legalized: true104 105body: |106  bb.0:107    liveins: $sgpr0_sgpr1108 109    ; CHECK-LABEL: name: gep_p1_s_k110    ; CHECK: liveins: $sgpr0_sgpr1111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr1113    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1114    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p1) = G_PTR_ADD [[COPY]], [[C]](s64)115    %0:_(p1) = COPY $sgpr0_sgpr1116    %1:_(s64) = G_CONSTANT i64 1117    %2:_(p1) = G_PTR_ADD %0, %1118...119 120---121name: gep_p1_s_s122legalized: true123 124body: |125  bb.0:126    liveins: $sgpr0_sgpr1, $sgpr2_sgpr3127 128    ; CHECK-LABEL: name: gep_p1_s_s129    ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3130    ; CHECK-NEXT: {{  $}}131    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p1) = COPY $sgpr0_sgpr1132    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr3133    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p1) = G_PTR_ADD [[COPY]], [[COPY1]](s64)134    %0:_(p1) = COPY $sgpr0_sgpr1135    %1:_(s64) = COPY $sgpr2_sgpr3136    %2:_(p1) = G_PTR_ADD %0, %1137...138 139---140name: gep_p1_v_k141legalized: true142 143body: |144  bb.0:145    liveins: $vgpr0_vgpr1146 147    ; CHECK-LABEL: name: gep_p1_v_k148    ; CHECK: liveins: $vgpr0_vgpr1149    ; CHECK-NEXT: {{  $}}150    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1151    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1152    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY [[C]](s64)153    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p1) = G_PTR_ADD [[COPY]], [[COPY1]](s64)154    %0:_(p1) = COPY $vgpr0_vgpr1155    %1:_(s64) = G_CONSTANT i64 1156    %2:_(p1) = G_PTR_ADD %0, %1157...158 159---160name: gep_p1_v_s161legalized: true162 163body: |164  bb.0:165    liveins: $vgpr0_vgpr1, $sgpr0_sgpr1166 167    ; CHECK-LABEL: name: gep_p1_v_s168    ; CHECK: liveins: $vgpr0_vgpr1, $sgpr0_sgpr1169    ; CHECK-NEXT: {{  $}}170    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1171    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1172    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY1]](s64)173    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p1) = G_PTR_ADD [[COPY]], [[COPY2]](s64)174    %0:_(p1) = COPY $vgpr0_vgpr1175    %1:_(s64) = COPY $sgpr0_sgpr1176    %2:_(p1) = G_PTR_ADD %0, %1177...178 179---180name: gep_p1_v_v181legalized: true182 183body: |184  bb.0:185    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3186 187    ; CHECK-LABEL: name: gep_p1_v_v188    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3189    ; CHECK-NEXT: {{  $}}190    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p1) = COPY $vgpr0_vgpr1191    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3192    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p1) = G_PTR_ADD [[COPY]], [[COPY1]](s64)193    %0:_(p1) = COPY $vgpr0_vgpr1194    %1:_(s64) = COPY $vgpr2_vgpr3195    %2:_(p1) = G_PTR_ADD %0, %1196...197 198---199name: gep_p3_s_k200legalized: true201 202body: |203  bb.0:204    liveins: $sgpr0205 206    ; CHECK-LABEL: name: gep_p3_s_k207    ; CHECK: liveins: $sgpr0208    ; CHECK-NEXT: {{  $}}209    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0210    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 1211    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p3) = G_PTR_ADD [[COPY]], [[C]](s32)212    %0:_(p3) = COPY $sgpr0213    %1:_(s32) = G_CONSTANT i32 1214    %2:_(p3) = G_PTR_ADD %0, %1215...216 217---218name: gep_p3_s_s219legalized: true220 221body: |222  bb.0:223    liveins: $sgpr0, $sgpr1224 225    ; CHECK-LABEL: name: gep_p3_s_s226    ; CHECK: liveins: $sgpr0, $sgpr1227    ; CHECK-NEXT: {{  $}}228    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0229    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1230    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p3) = G_PTR_ADD [[COPY]], [[COPY1]](s32)231    %0:_(p3) = COPY $sgpr0232    %1:_(s32) = COPY $sgpr1233    %2:_(p3) = G_PTR_ADD %0, %1234...235 236---237name: gep_p3_v_k238legalized: true239 240body: |241  bb.0:242    liveins: $vgpr0243 244    ; CHECK-LABEL: name: gep_p3_v_k245    ; CHECK: liveins: $vgpr0246    ; CHECK-NEXT: {{  $}}247    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0248    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 1249    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)250    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[COPY1]](s32)251    %0:_(p3) = COPY $vgpr0252    %1:_(s32) = G_CONSTANT i32 1253    %2:_(p3) = G_PTR_ADD %0, %1254...255 256---257name: gep_p3_v_s258legalized: true259 260body: |261  bb.0:262    liveins: $vgpr0, $sgpr0263 264    ; CHECK-LABEL: name: gep_p3_v_s265    ; CHECK: liveins: $vgpr0, $sgpr0266    ; CHECK-NEXT: {{  $}}267    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0268    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0269    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)270    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[COPY2]](s32)271    %0:_(p3) = COPY $vgpr0272    %1:_(s32) = COPY $sgpr0273    %2:_(p3) = G_PTR_ADD %0, %1274...275 276---277name: gep_p3_v_v278legalized: true279 280body: |281  bb.0:282    liveins: $vgpr0, $vgpr1283 284    ; CHECK-LABEL: name: gep_p3_v_v285    ; CHECK: liveins: $vgpr0, $vgpr1286    ; CHECK-NEXT: {{  $}}287    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0288    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1289    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[COPY1]](s32)290    %0:_(p3) = COPY $vgpr0291    %1:_(s32) = COPY $vgpr1292    %2:_(p3) = G_PTR_ADD %0, %1293...294 295---296name: gep_p4_s_k297legalized: true298 299body: |300  bb.0:301    liveins: $sgpr0_sgpr1302 303    ; CHECK-LABEL: name: gep_p4_s_k304    ; CHECK: liveins: $sgpr0_sgpr1305    ; CHECK-NEXT: {{  $}}306    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1307    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1308    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p4) = G_PTR_ADD [[COPY]], [[C]](s64)309    %0:_(p4) = COPY $sgpr0_sgpr1310    %1:_(s64) = G_CONSTANT i64 1311    %2:_(p4) = G_PTR_ADD %0, %1312...313 314---315name: gep_p4_s_s316legalized: true317 318body: |319  bb.0:320    liveins: $sgpr0_sgpr1, $sgpr2_sgpr3321 322    ; CHECK-LABEL: name: gep_p4_s_s323    ; CHECK: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3324    ; CHECK-NEXT: {{  $}}325    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1326    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr2_sgpr3327    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p4) = G_PTR_ADD [[COPY]], [[COPY1]](s64)328    %0:_(p4) = COPY $sgpr0_sgpr1329    %1:_(s64) = COPY $sgpr2_sgpr3330    %2:_(p4) = G_PTR_ADD %0, %1331...332 333---334name: gep_p4_v_k335legalized: true336 337body: |338  bb.0:339    liveins: $vgpr0_vgpr1340 341    ; CHECK-LABEL: name: gep_p4_v_k342    ; CHECK: liveins: $vgpr0_vgpr1343    ; CHECK-NEXT: {{  $}}344    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p4) = COPY $vgpr0_vgpr1345    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s64) = G_CONSTANT i64 1346    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY [[C]](s64)347    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p4) = G_PTR_ADD [[COPY]], [[COPY1]](s64)348    %0:_(p4) = COPY $vgpr0_vgpr1349    %1:_(s64) = G_CONSTANT i64 1350    %2:_(p4) = G_PTR_ADD %0, %1351...352 353---354name: gep_p4_v_s355legalized: true356 357body: |358  bb.0:359    liveins: $vgpr0_vgpr1, $sgpr0_sgpr1360 361    ; CHECK-LABEL: name: gep_p4_v_s362    ; CHECK: liveins: $vgpr0_vgpr1, $sgpr0_sgpr1363    ; CHECK-NEXT: {{  $}}364    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p4) = COPY $vgpr0_vgpr1365    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1366    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s64) = COPY [[COPY1]](s64)367    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p4) = G_PTR_ADD [[COPY]], [[COPY2]](s64)368    %0:_(p4) = COPY $vgpr0_vgpr1369    %1:_(s64) = COPY $sgpr0_sgpr1370    %2:_(p4) = G_PTR_ADD %0, %1371...372 373---374name: gep_p4_v_v375legalized: true376 377body: |378  bb.0:379    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3380 381    ; CHECK-LABEL: name: gep_p4_v_v382    ; CHECK: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3383    ; CHECK-NEXT: {{  $}}384    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p4) = COPY $vgpr0_vgpr1385    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3386    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p4) = G_PTR_ADD [[COPY]], [[COPY1]](s64)387    %0:_(p4) = COPY $vgpr0_vgpr1388    %1:_(s64) = COPY $vgpr2_vgpr3389    %2:_(p4) = G_PTR_ADD %0, %1390...391 392---393name: gep_p5_s_k394legalized: true395 396body: |397  bb.0:398    liveins: $sgpr0399 400    ; CHECK-LABEL: name: gep_p5_s_k401    ; CHECK: liveins: $sgpr0402    ; CHECK-NEXT: {{  $}}403    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p5) = COPY $sgpr0404    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 1405    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p5) = G_PTR_ADD [[COPY]], [[C]](s32)406    %0:_(p5) = COPY $sgpr0407    %1:_(s32) = G_CONSTANT i32 1408    %2:_(p5) = G_PTR_ADD %0, %1409...410 411---412name: gep_p5_s_s413legalized: true414 415body: |416  bb.0:417    liveins: $sgpr0, $sgpr1418 419    ; CHECK-LABEL: name: gep_p5_s_s420    ; CHECK: liveins: $sgpr0, $sgpr1421    ; CHECK-NEXT: {{  $}}422    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p5) = COPY $sgpr0423    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1424    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:sgpr(p5) = G_PTR_ADD [[COPY]], [[COPY1]](s32)425    %0:_(p5) = COPY $sgpr0426    %1:_(s32) = COPY $sgpr1427    %2:_(p5) = G_PTR_ADD %0, %1428...429 430---431name: gep_p5_v_k432legalized: true433 434body: |435  bb.0:436    liveins: $vgpr0437 438    ; CHECK-LABEL: name: gep_p5_v_k439    ; CHECK: liveins: $vgpr0440    ; CHECK-NEXT: {{  $}}441    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p5) = COPY $vgpr0442    ; CHECK-NEXT: [[C:%[0-9]+]]:sgpr(s32) = G_CONSTANT i32 1443    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY [[C]](s32)444    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p5) = G_PTR_ADD [[COPY]], [[COPY1]](s32)445    %0:_(p5) = COPY $vgpr0446    %1:_(s32) = G_CONSTANT i32 1447    %2:_(p5) = G_PTR_ADD %0, %1448...449 450---451name: gep_p5_v_s452legalized: true453 454body: |455  bb.0:456    liveins: $vgpr0, $sgpr0457 458    ; CHECK-LABEL: name: gep_p5_v_s459    ; CHECK: liveins: $vgpr0, $sgpr0460    ; CHECK-NEXT: {{  $}}461    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p5) = COPY $vgpr0462    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0463    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)464    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p5) = G_PTR_ADD [[COPY]], [[COPY2]](s32)465    %0:_(p5) = COPY $vgpr0466    %1:_(s32) = COPY $sgpr0467    %2:_(p5) = G_PTR_ADD %0, %1468...469 470---471name: gep_p5_v_v472legalized: true473 474body: |475  bb.0:476    liveins: $vgpr0, $vgpr1477 478    ; CHECK-LABEL: name: gep_p5_v_v479    ; CHECK: liveins: $vgpr0, $vgpr1480    ; CHECK-NEXT: {{  $}}481    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(p5) = COPY $vgpr0482    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1483    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p5) = G_PTR_ADD [[COPY]], [[COPY1]](s32)484    %0:_(p5) = COPY $vgpr0485    %1:_(s32) = COPY $vgpr1486    %2:_(p5) = G_PTR_ADD %0, %1487...488