brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.8 KiB · df13d7c Raw
222 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -O0 -run-pass=legalizer -o - %s | FileCheck %s3 4---5name: test_inttoptr_s64_to_p06body: |7  bb.0:8    liveins: $vgpr0_vgpr19 10    ; CHECK-LABEL: name: test_inttoptr_s64_to_p011    ; CHECK: liveins: $vgpr0_vgpr112    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr114    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[COPY]](s64)15    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p0)16    %0:_(s64) = COPY $vgpr0_vgpr117    %1:_(p0) = G_INTTOPTR %018    $vgpr0_vgpr1 = COPY %119...20 21---22name: test_inttoptr_s64_to_p123body: |24  bb.0:25    liveins: $vgpr0_vgpr126 27    ; CHECK-LABEL: name: test_inttoptr_s64_to_p128    ; CHECK: liveins: $vgpr0_vgpr129    ; CHECK-NEXT: {{  $}}30    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr131    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p1) = G_INTTOPTR [[COPY]](s64)32    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p1)33    %0:_(s64) = COPY $vgpr0_vgpr134    %1:_(p1) = G_INTTOPTR %035    $vgpr0_vgpr1 = COPY %136...37 38---39name: test_inttoptr_s64_to_p440body: |41  bb.0:42    liveins: $vgpr0_vgpr143 44    ; CHECK-LABEL: name: test_inttoptr_s64_to_p445    ; CHECK: liveins: $vgpr0_vgpr146    ; CHECK-NEXT: {{  $}}47    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr148    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p4) = G_INTTOPTR [[COPY]](s64)49    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p4)50    %0:_(s64) = COPY $vgpr0_vgpr151    %1:_(p4) = G_INTTOPTR %052    $vgpr0_vgpr1 = COPY %153...54 55---56name: test_inttoptr_s32_to_p357body: |58  bb.0:59    liveins: $vgpr060 61    ; CHECK-LABEL: name: test_inttoptr_s32_to_p362    ; CHECK: liveins: $vgpr063    ; CHECK-NEXT: {{  $}}64    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr065    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p3) = G_INTTOPTR [[COPY]](s32)66    ; CHECK-NEXT: $vgpr0 = COPY [[INTTOPTR]](p3)67    %0:_(s32) = COPY $vgpr068    %1:_(p3) = G_INTTOPTR %069    $vgpr0 = COPY %170...71 72---73name: test_inttoptr_s32_to_p574body: |75  bb.0:76    liveins: $vgpr077 78    ; CHECK-LABEL: name: test_inttoptr_s32_to_p579    ; CHECK: liveins: $vgpr080    ; CHECK-NEXT: {{  $}}81    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr082    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p5) = G_INTTOPTR [[COPY]](s32)83    ; CHECK-NEXT: $vgpr0 = COPY [[INTTOPTR]](p5)84    %0:_(s32) = COPY $vgpr085    %1:_(p5) = G_INTTOPTR %086    $vgpr0 = COPY %187...88 89---90name: test_inttoptr_s64_to_p99991body: |92  bb.0:93    liveins: $vgpr0_vgpr194 95    ; CHECK-LABEL: name: test_inttoptr_s64_to_p99996    ; CHECK: liveins: $vgpr0_vgpr197    ; CHECK-NEXT: {{  $}}98    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr199    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p999) = G_INTTOPTR [[COPY]](s64)100    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p999)101    %0:_(s64) = COPY $vgpr0_vgpr1102    %1:_(p999) = G_INTTOPTR %0103    $vgpr0_vgpr1 = COPY %1104...105 106---107name: test_inttoptr_s32_to_p0108body: |109  bb.0:110    liveins: $vgpr0111 112    ; CHECK-LABEL: name: test_inttoptr_s32_to_p0113    ; CHECK: liveins: $vgpr0114    ; CHECK-NEXT: {{  $}}115    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0116    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32)117    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[ZEXT]](s64)118    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p0)119    %0:_(s32) = COPY $vgpr0120    %1:_(p0) = G_INTTOPTR %0121    $vgpr0_vgpr1 = COPY %1122...123 124---125name: test_inttoptr_s128_to_p0126body: |127  bb.0:128    liveins: $vgpr0_vgpr1_vgpr2_vgpr3129 130    ; CHECK-LABEL: name: test_inttoptr_s128_to_p0131    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3132    ; CHECK-NEXT: {{  $}}133    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3134    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s64) = G_TRUNC [[COPY]](s128)135    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[TRUNC]](s64)136    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[INTTOPTR]](p0)137    %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3138    %1:_(p0) = G_INTTOPTR %0139    $vgpr0_vgpr1 = COPY %1140...141 142---143name: test_inttoptr_v2s64_to_v2p0144body: |145  bb.0:146    liveins: $vgpr0_vgpr1_vgpr2_vgpr3147 148    ; CHECK-LABEL: name: test_inttoptr_v2s64_to_v2p0149    ; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3150    ; CHECK-NEXT: {{  $}}151    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3152    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY]](<2 x s64>)153    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[UV]](s64)154    ; CHECK-NEXT: [[INTTOPTR1:%[0-9]+]]:_(p0) = G_INTTOPTR [[UV1]](s64)155    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x p0>) = G_BUILD_VECTOR [[INTTOPTR]](p0), [[INTTOPTR1]](p0)156    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[BUILD_VECTOR]](<2 x p0>)157    %0:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3158    %1:_(<2 x p0>) = G_INTTOPTR %0159    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1160...161 162---163name: test_inttoptr_v2s32_to_v2p0164body: |165  bb.0:166    liveins: $vgpr0_vgpr1167 168    ; CHECK-LABEL: name: test_inttoptr_v2s32_to_v2p0169    ; CHECK: liveins: $vgpr0_vgpr1170    ; CHECK-NEXT: {{  $}}171    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr0_vgpr1172    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>)173    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[UV]](s32)174    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[ZEXT]](s64)175    ; CHECK-NEXT: [[ZEXT1:%[0-9]+]]:_(s64) = G_ZEXT [[UV1]](s32)176    ; CHECK-NEXT: [[INTTOPTR1:%[0-9]+]]:_(p0) = G_INTTOPTR [[ZEXT1]](s64)177    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x p0>) = G_BUILD_VECTOR [[INTTOPTR]](p0), [[INTTOPTR1]](p0)178    ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[BUILD_VECTOR]](<2 x p0>)179    %0:_(<2 x s32>) = COPY $vgpr0_vgpr1180    %1:_(<2 x p0>) = G_INTTOPTR %0181    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1182...183 184---185name: test_inttoptr_s29_to_p3186body: |187  bb.0:188    liveins: $vgpr0189 190    ; CHECK-LABEL: name: test_inttoptr_s29_to_p3191    ; CHECK: liveins: $vgpr0192    ; CHECK-NEXT: {{  $}}193    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0194    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 536870911195    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]196    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p3) = G_INTTOPTR [[AND]](s32)197    ; CHECK-NEXT: S_ENDPGM 0, implicit [[INTTOPTR]](p3)198    %0:_(s32) = COPY $vgpr0199    %1:_(s29) = G_TRUNC %0200    %2:_(p3) = G_INTTOPTR %1201    S_ENDPGM 0, implicit %2202...203 204---205name: test_inttoptr_s33_to_p3206body: |207  bb.0:208    liveins: $vgpr0_vgpr1209 210    ; CHECK-LABEL: name: test_inttoptr_s33_to_p3211    ; CHECK: liveins: $vgpr0_vgpr1212    ; CHECK-NEXT: {{  $}}213    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1214    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)215    ; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:_(p3) = G_INTTOPTR [[TRUNC]](s32)216    ; CHECK-NEXT: S_ENDPGM 0, implicit [[INTTOPTR]](p3)217    %0:_(s64) = COPY $vgpr0_vgpr1218    %1:_(s33) = G_TRUNC %0219    %2:_(p3) = G_INTTOPTR %1220    S_ENDPGM 0, implicit %2221...222