brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.0 KiB · 4f38e39 Raw
235 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=amdgpu-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3 4---5name:            sshlsat_16tracksRegLiveness: true7body:             |8  bb.0:9    liveins: $vgpr010 11    ; CHECK-LABEL: name: sshlsat_112    ; CHECK: liveins: $vgpr013    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr015    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 416    ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C]](s32)17    ; CHECK-NEXT: $vgpr0 = COPY [[SSHLSAT]](s32)18    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $vgpr019    %0:_(s32) = COPY $vgpr020    %2:_(s32) = G_CONSTANT i32 221    %3:_(s32) = G_SSHLSAT %0, %2(s32)22    %4:_(s32) = G_SSHLSAT %3, %2(s32)23    $vgpr0 = COPY %4(s32)24    SI_RETURN_TO_EPILOG implicit $vgpr025 26...27---28name:            sshlsat_229tracksRegLiveness: true30body:             |31  bb.0:32    liveins: $sgpr033 34    ; CHECK-LABEL: name: sshlsat_235    ; CHECK: liveins: $sgpr036    ; CHECK-NEXT: {{  $}}37    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr038    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1039    ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C]](s32)40    ; CHECK-NEXT: [[INT:%[0-9]+]]:_(s32) = G_INTRINSIC_CONVERGENT intrinsic(@llvm.amdgcn.readfirstlane), [[SSHLSAT]](s32)41    ; CHECK-NEXT: $sgpr0 = COPY [[INT]](s32)42    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr043    %0:_(s32) = COPY $sgpr044    %2:_(s32) = G_CONSTANT i32 145    %4:_(s32) = G_CONSTANT i32 246    %6:_(s32) = G_CONSTANT i32 347    %8:_(s32) = G_CONSTANT i32 448    %3:_(s32) = G_SSHLSAT %0, %2(s32)49    %5:_(s32) = G_SSHLSAT %3, %4(s32)50    %7:_(s32) = G_SSHLSAT %5, %6(s32)51    %9:_(s32) = G_SSHLSAT %7, %8(s32)52    %10:_(s32) = G_INTRINSIC_CONVERGENT intrinsic(@llvm.amdgcn.readfirstlane), %9(s32)53    $sgpr0 = COPY %10(s32)54    SI_RETURN_TO_EPILOG implicit $sgpr055 56...57---58name:            sshlsat_i3259tracksRegLiveness: true60body:             |61  bb.0:62    liveins: $vgpr063 64    ; CHECK-LABEL: name: sshlsat_i3265    ; CHECK: liveins: $vgpr066    ; CHECK-NEXT: {{  $}}67    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr068    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 3169    ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s32) = G_SSHLSAT [[COPY]], [[C]](s32)70    ; CHECK-NEXT: $vgpr0 = COPY [[SSHLSAT]](s32)71    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $vgpr072    %0:_(s32) = COPY $vgpr073    %2:_(s32) = G_CONSTANT i32 1074    %3:_(s32) = G_SSHLSAT %0, %2(s32)75    %4:_(s32) = G_SSHLSAT %3, %2(s32)76    %5:_(s32) = G_SSHLSAT %4, %2(s32)77    %6:_(s32) = G_SSHLSAT %5, %2(s32)78    $vgpr0 = COPY %6(s32)79    SI_RETURN_TO_EPILOG implicit $vgpr080 81...82---83name:            sshlsat_i6484tracksRegLiveness: true85body:             |86  bb.0:87    liveins: $sgpr0, $sgpr188 89    ; CHECK-LABEL: name: sshlsat_i6490    ; CHECK: liveins: $sgpr0, $sgpr191    ; CHECK-NEXT: {{  $}}92    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr093    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr194    ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)95    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 6296    ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s64) = G_SSHLSAT [[MV]], [[C]](s64)97    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[SSHLSAT]](s64)98    ; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)99    ; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)100    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1101    %1:_(s32) = COPY $sgpr0102    %2:_(s32) = COPY $sgpr1103    %0:_(s64) = G_MERGE_VALUES %1(s32), %2(s32)104    %4:_(s64) = G_CONSTANT i64 10105    %11:_(s64) = G_CONSTANT i64 2106    %5:_(s64) = G_SSHLSAT %0, %4(s64)107    %6:_(s64) = G_SSHLSAT %5, %4(s64)108    %7:_(s64) = G_SSHLSAT %6, %4(s64)109    %8:_(s64) = G_SSHLSAT %7, %4(s64)110    %9:_(s64) = G_SSHLSAT %8, %4(s64)111    %10:_(s64) = G_SSHLSAT %9, %4(s64)112    %12:_(s64) = G_SSHLSAT %10, %11(s64)113    %13:_(s32), %14:_(s32) = G_UNMERGE_VALUES %12(s64)114    $sgpr0 = COPY %13(s32)115    $sgpr1 = COPY %14(s32)116    SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1117 118...119---120name:            ushlsat_1121tracksRegLiveness: true122body:             |123  bb.0:124    liveins: $vgpr0125 126    ; CHECK-LABEL: name: ushlsat_1127    ; CHECK: liveins: $vgpr0128    ; CHECK-NEXT: {{  $}}129    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0130    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 4131    ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C]](s32)132    ; CHECK-NEXT: $vgpr0 = COPY [[USHLSAT]](s32)133    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $vgpr0134    %0:_(s32) = COPY $vgpr0135    %2:_(s32) = G_CONSTANT i32 2136    %3:_(s32) = G_USHLSAT %0, %2(s32)137    %4:_(s32) = G_USHLSAT %3, %2(s32)138    $vgpr0 = COPY %4(s32)139    SI_RETURN_TO_EPILOG implicit $vgpr0140 141...142---143name:            ushlsat_2144tracksRegLiveness: true145body:             |146  bb.0:147    liveins: $sgpr0148 149    ; CHECK-LABEL: name: ushlsat_2150    ; CHECK: liveins: $sgpr0151    ; CHECK-NEXT: {{  $}}152    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0153    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 10154    ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C]](s32)155    ; CHECK-NEXT: $sgpr0 = COPY [[USHLSAT]](s32)156    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0157    %0:_(s32) = COPY $sgpr0158    %2:_(s32) = G_CONSTANT i32 1159    %4:_(s32) = G_CONSTANT i32 2160    %6:_(s32) = G_CONSTANT i32 3161    %8:_(s32) = G_CONSTANT i32 4162    %3:_(s32) = G_USHLSAT %0, %2(s32)163    %5:_(s32) = G_USHLSAT %3, %4(s32)164    %7:_(s32) = G_USHLSAT %5, %6(s32)165    %9:_(s32) = G_USHLSAT %7, %8(s32)166    $sgpr0 = COPY %9(s32)167    SI_RETURN_TO_EPILOG implicit $sgpr0168 169...170---171name:            ushlsat_i32172tracksRegLiveness: true173body:             |174  bb.0:175    liveins: $vgpr0176 177    ; CHECK-LABEL: name: ushlsat_i32178    ; CHECK: liveins: $vgpr0179    ; CHECK-NEXT: {{  $}}180    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0181    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 10182    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 30183    ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s32) = G_USHLSAT [[COPY]], [[C1]](s32)184    ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s32) = G_USHLSAT [[USHLSAT]], [[C]](s32)185    ; CHECK-NEXT: $vgpr0 = COPY [[USHLSAT1]](s32)186    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $vgpr0187    %0:_(s32) = COPY $vgpr0188    %2:_(s32) = G_CONSTANT i32 10189    %3:_(s32) = G_USHLSAT %0, %2(s32)190    %4:_(s32) = G_USHLSAT %3, %2(s32)191    %5:_(s32) = G_USHLSAT %4, %2(s32)192    %6:_(s32) = G_USHLSAT %5, %2(s32)193    $vgpr0 = COPY %6(s32)194    SI_RETURN_TO_EPILOG implicit $vgpr0195 196...197---198name:            ushlsat_i64199tracksRegLiveness: true200body:             |201  bb.0:202    liveins: $sgpr0, $sgpr1203 204    ; CHECK-LABEL: name: ushlsat_i64205    ; CHECK: liveins: $sgpr0, $sgpr1206    ; CHECK-NEXT: {{  $}}207    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0208    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1209    ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)210    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 10211    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 60212    ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s64) = G_USHLSAT [[MV]], [[C1]](s64)213    ; CHECK-NEXT: [[USHLSAT1:%[0-9]+]]:_(s64) = G_USHLSAT [[USHLSAT]], [[C]](s64)214    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[USHLSAT1]](s64)215    ; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)216    ; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)217    ; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1218    %1:_(s32) = COPY $sgpr0219    %2:_(s32) = COPY $sgpr1220    %0:_(s64) = G_MERGE_VALUES %1(s32), %2(s32)221    %4:_(s64) = G_CONSTANT i64 10222    %5:_(s64) = G_USHLSAT %0, %4(s64)223    %6:_(s64) = G_USHLSAT %5, %4(s64)224    %7:_(s64) = G_USHLSAT %6, %4(s64)225    %8:_(s64) = G_USHLSAT %7, %4(s64)226    %9:_(s64) = G_USHLSAT %8, %4(s64)227    %10:_(s64) = G_USHLSAT %9, %4(s64)228    %11:_(s64) = G_USHLSAT %10, %4(s64)229    %12:_(s32), %13:_(s32) = G_UNMERGE_VALUES %11(s64)230    $sgpr0 = COPY %12(s32)231    $sgpr1 = COPY %13(s32)232    SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1233 234...235