brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · 345dc48 Raw
251 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 32# RUN: llc -mtriple=riscv64 -mattr='+zba' -run-pass=instruction-select -simplify-mir -verify-machineinstrs %s -o - \3# RUN: | FileCheck %s4 5---6name:            sh1add7legalized:       true8regBankSelected: true9tracksRegLiveness: true10body:             |11  bb.0.entry:12    liveins: $x10, $x1113 14    ; CHECK-LABEL: name: sh1add15    ; CHECK: liveins: $x10, $x1116    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1018    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1119    ; CHECK-NEXT: [[SH1ADD:%[0-9]+]]:gpr = SH1ADD [[COPY]], [[COPY1]]20    ; CHECK-NEXT: $x10 = COPY [[SH1ADD]]21    %0:gprb(s64) = COPY $x1022    %1:gprb(s64) = COPY $x1123    %2:gprb(s64) = G_CONSTANT i64 124    %3:gprb(s64) = G_SHL %0, %225    %4:gprb(s64) = G_ADD %3, %126    $x10 = COPY %4(s64)27...28---29name:            sh2add30legalized:       true31regBankSelected: true32tracksRegLiveness: true33body:             |34  bb.0.entry:35    liveins: $x10, $x1136 37    ; CHECK-LABEL: name: sh2add38    ; CHECK: liveins: $x10, $x1139    ; CHECK-NEXT: {{  $}}40    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1041    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1142    ; CHECK-NEXT: [[SH2ADD:%[0-9]+]]:gpr = SH2ADD [[COPY]], [[COPY1]]43    ; CHECK-NEXT: $x10 = COPY [[SH2ADD]]44    %0:gprb(s64) = COPY $x1045    %1:gprb(s64) = COPY $x1146    %2:gprb(s64) = G_CONSTANT i64 247    %3:gprb(s64) = G_SHL %0, %248    %4:gprb(s64) = G_ADD %3, %149    $x10 = COPY %4(s64)50...51---52name:            sh3add53legalized:       true54regBankSelected: true55tracksRegLiveness: true56body:             |57  bb.0.entry:58    liveins: $x10, $x1159 60    ; CHECK-LABEL: name: sh3add61    ; CHECK: liveins: $x10, $x1162    ; CHECK-NEXT: {{  $}}63    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1064    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1165    ; CHECK-NEXT: [[SH3ADD:%[0-9]+]]:gpr = SH3ADD [[COPY]], [[COPY1]]66    ; CHECK-NEXT: $x10 = COPY [[SH3ADD]]67    %0:gprb(s64) = COPY $x1068    %1:gprb(s64) = COPY $x1169    %2:gprb(s64) = G_CONSTANT i64 370    %3:gprb(s64) = G_SHL %0, %271    %4:gprb(s64) = G_ADD %3, %172    $x10 = COPY %4(s64)73...74---75name:            no_sh1add76legalized:       true77regBankSelected: true78tracksRegLiveness: true79body:             |80  bb.0.entry:81    liveins: $x10, $x1182 83    ; CHECK-LABEL: name: no_sh1add84    ; CHECK: liveins: $x10, $x1185    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1087    ; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[COPY]], 188    ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[SLLI]], 3789    ; CHECK-NEXT: $x10 = COPY [[ADDI]]90    %0:gprb(s64) = COPY $x1091    %1:gprb(s64) = G_CONSTANT i64 3792    %2:gprb(s64) = G_CONSTANT i64 193    %3:gprb(s64) = G_SHL %0, %294    %4:gprb(s64) = G_ADD %3, %195    $x10 = COPY %4(s64)96...97---98name:            shXadd_complex_and_shl99legalized:       true100regBankSelected: true101tracksRegLiveness: true102body:             |103  bb.0.entry:104    liveins: $x10, $x11105 106    ; CHECK-LABEL: name: shXadd_complex_and_shl107    ; CHECK: liveins: $x10, $x11108    ; CHECK-NEXT: {{  $}}109    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10110    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11111    ; CHECK-NEXT: [[SRLIW:%[0-9]+]]:gpr = SRLIW [[COPY]], 1112    ; CHECK-NEXT: [[SH3ADD:%[0-9]+]]:gpr = SH3ADD [[SRLIW]], [[COPY1]]113    ; CHECK-NEXT: $x10 = COPY [[SH3ADD]]114    %0:gprb(s64) = COPY $x10115    %1:gprb(s64) = COPY $x11116 117    %2:gprb(s64) = G_CONSTANT i64 4294967294118    %3:gprb(s64) = G_AND %0, %2119    %4:gprb(s64) = G_CONSTANT i64 2120    %5:gprb(s64) = G_SHL %3, %4121 122    %6:gprb(s64) = G_ADD %5, %1123    $x10 = COPY %6(s64)124...125---126name:            shXadd_complex_and_lshr127legalized:       true128regBankSelected: true129tracksRegLiveness: true130body:             |131  bb.0.entry:132    liveins: $x10, $x11133 134    ; CHECK-LABEL: name: shXadd_complex_and_lshr135    ; CHECK: liveins: $x10, $x11136    ; CHECK-NEXT: {{  $}}137    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10138    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11139    ; CHECK-NEXT: [[SRLIW:%[0-9]+]]:gpr = SRLIW [[COPY]], 2140    ; CHECK-NEXT: [[SH1ADD:%[0-9]+]]:gpr = SH1ADD [[SRLIW]], [[COPY1]]141    ; CHECK-NEXT: $x10 = COPY [[SH1ADD]]142    %0:gprb(s64) = COPY $x10143    %1:gprb(s64) = COPY $x11144 145    %2:gprb(s64) = G_CONSTANT i64 4294967292146    %3:gprb(s64) = G_AND %0, %2147    %4:gprb(s64) = G_CONSTANT i64 1148    %5:gprb(s64) = G_LSHR %3, %4149 150    %6:gprb(s64) = G_ADD %5, %1151    $x10 = COPY %6(s64)152...153---154name:            shXadd_uw_complex_shl_and155legalized:       true156regBankSelected: true157tracksRegLiveness: true158body:             |159  bb.0.entry:160    liveins: $x10, $x11161 162    ; CHECK-LABEL: name: shXadd_uw_complex_shl_and163    ; CHECK: liveins: $x10, $x11164    ; CHECK-NEXT: {{  $}}165    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10166    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11167    ; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[COPY]], 1168    ; CHECK-NEXT: [[SH2ADD_UW:%[0-9]+]]:gpr = SH2ADD_UW [[SLLI]], [[COPY1]]169    ; CHECK-NEXT: $x10 = COPY [[SH2ADD_UW]]170    %0:gprb(s64) = COPY $x10171    %1:gprb(s64) = COPY $x11172 173    %2:gprb(s64) = G_CONSTANT i64 3174    %3:gprb(s64) = G_SHL %0, %2175    %4:gprb(s64) = G_CONSTANT i64 17179869183176    %5:gprb(s64) = G_AND %3, %4177 178    %6:gprb(s64) = G_ADD %5, %1179    $x10 = COPY %6(s64)180...181---182name:            slli_uw183legalized:       true184regBankSelected: true185tracksRegLiveness: true186body:             |187  bb.0.entry:188    liveins: $x10189 190    ; CHECK-LABEL: name: slli_uw191    ; CHECK: liveins: $x10192    ; CHECK-NEXT: {{  $}}193    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10194    ; CHECK-NEXT: [[SLLI_UW:%[0-9]+]]:gpr = SLLI_UW [[COPY]], 7195    ; CHECK-NEXT: $x10 = COPY [[SLLI_UW]]196    %0:gprb(s64) = COPY $x10197 198    %1:gprb(s64) = G_CONSTANT i64 4294967295199    %2:gprb(s64) = G_AND %0, %1200    %3:gprb(s64) = G_CONSTANT i64 7201    %4:gprb(s64) = G_SHL %2, %3202 203    $x10 = COPY %4(s64)204...205---206name:            slli_uw_complex207legalized:       true208regBankSelected: true209tracksRegLiveness: true210body:             |211  bb.0.entry:212    liveins: $x10213 214    ; CHECK-LABEL: name: slli_uw_complex215    ; CHECK: liveins: $x10216    ; CHECK-NEXT: {{  $}}217    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10218    ; CHECK-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[COPY]], 2219    ; CHECK-NEXT: [[SLLI_UW:%[0-9]+]]:gpr = SLLI_UW [[SRLI]], 2220    ; CHECK-NEXT: $x10 = COPY [[SLLI_UW]]221    %0:gprb(s64) = COPY $x10222 223    %1:gprb(s64) = G_CONSTANT i64 17179869180224    %2:gprb(s64) = G_AND %0, %1225 226    $x10 = COPY %2(s64)227...228---229name:            adduw230legalized:       true231regBankSelected: true232tracksRegLiveness: true233body:             |234  bb.0.entry:235    liveins: $x10, $x11236 237    ; CHECK-LABEL: name: adduw238    ; CHECK: liveins: $x10, $x11239    ; CHECK-NEXT: {{  $}}240    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10241    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11242    ; CHECK-NEXT: [[ADD_UW:%[0-9]+]]:gpr = ADD_UW [[COPY]], [[COPY1]]243    ; CHECK-NEXT: $x10 = COPY [[ADD_UW]]244    %0:gprb(s64) = COPY $x10245    %1:gprb(s64) = COPY $x11246    %2:gprb(s64) = G_CONSTANT i64 4294967295247    %3:gprb(s64) = G_AND %0, %2248    %4:gprb(s64) = G_ADD %3, %1249    $x10 = COPY %4(s64)250...251