176 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -run-pass=instruction-select --simplify-mir \3# RUN: -verify-machineinstrs %s -o - | FileCheck %s4---5name: select_s326legalized: true7regBankSelected: true8tracksRegLiveness: true9body: |10 bb.0:11 liveins: $x10, $x11, $x1212 13 ; CHECK-LABEL: name: select_s3214 ; CHECK: liveins: $x10, $x11, $x1215 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1017 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1118 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x1219 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR [[COPY]], $x0, 1, [[COPY1]], [[COPY2]]20 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]21 ; CHECK-NEXT: PseudoRET implicit $x1022 %0:gprb(s32) = COPY $x1023 %1:gprb(s32) = COPY $x1124 %2:gprb(s32) = COPY $x1225 %3:gprb(s32) = G_SELECT %0, %1, %226 $x10 = COPY %3(s32)27 PseudoRET implicit $x1028 29...30---31name: select_p032legalized: true33regBankSelected: true34tracksRegLiveness: true35body: |36 bb.0:37 liveins: $x10, $x11, $x1238 39 ; CHECK-LABEL: name: select_p040 ; CHECK: liveins: $x10, $x11, $x1241 ; CHECK-NEXT: {{ $}}42 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1043 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1144 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x1245 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR [[COPY]], $x0, 1, [[COPY1]], [[COPY2]]46 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]47 ; CHECK-NEXT: PseudoRET implicit $x1048 %0:gprb(s32) = COPY $x1049 %1:gprb(p0) = COPY $x1150 %2:gprb(p0) = COPY $x1251 %3:gprb(p0) = G_SELECT %0, %1, %252 $x10 = COPY %3(p0)53 PseudoRET implicit $x1054 55...56---57name: select_icmp_ult58legalized: true59regBankSelected: true60tracksRegLiveness: true61body: |62 bb.0:63 liveins: $x10, $x11, $x12, $x13, $x1464 65 ; CHECK-LABEL: name: select_icmp_ult66 ; CHECK: liveins: $x10, $x11, $x12, $x13, $x1467 ; CHECK-NEXT: {{ $}}68 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1069 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1170 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x1271 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr = COPY $x1372 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR [[COPY2]], [[COPY3]], 4, [[COPY]], [[COPY1]]73 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]74 ; CHECK-NEXT: PseudoRET implicit $x1075 %0:gprb(s32) = COPY $x1076 %1:gprb(s32) = COPY $x1177 %2:gprb(s32) = COPY $x1278 %3:gprb(s32) = COPY $x1379 %4:gprb(s32) = COPY $x1480 %5:gprb(s32) = G_ICMP intpred(ult), %2, %381 %6:gprb(s32) = G_SELECT %5, %0, %182 $x10 = COPY %6(s32)83 PseudoRET implicit $x1084 85...86---87name: select_icmp_ugt88legalized: true89regBankSelected: true90tracksRegLiveness: true91body: |92 bb.0:93 liveins: $x10, $x11, $x12, $x13, $x1494 95 ; CHECK-LABEL: name: select_icmp_ugt96 ; CHECK: liveins: $x10, $x11, $x12, $x13, $x1497 ; CHECK-NEXT: {{ $}}98 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1099 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11100 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x12101 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr = COPY $x13102 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR [[COPY3]], [[COPY2]], 4, [[COPY]], [[COPY1]]103 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]104 ; CHECK-NEXT: PseudoRET implicit $x10105 %0:gprb(s32) = COPY $x10106 %1:gprb(s32) = COPY $x11107 %2:gprb(s32) = COPY $x12108 %3:gprb(s32) = COPY $x13109 %4:gprb(s32) = COPY $x14110 %5:gprb(s32) = G_ICMP intpred(ugt), %2, %3111 %6:gprb(s32) = G_SELECT %5, %0, %1112 $x10 = COPY %6(s32)113 PseudoRET implicit $x10114 115...116---117name: select_icmp_sgtneg1118legalized: true119regBankSelected: true120tracksRegLiveness: true121body: |122 bb.0:123 liveins: $x10, $x11, $x12, $x13, $x14124 125 ; CHECK-LABEL: name: select_icmp_sgtneg1126 ; CHECK: liveins: $x10, $x11, $x12, $x13, $x14127 ; CHECK-NEXT: {{ $}}128 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10129 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11130 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x12131 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR [[COPY2]], $x0, 3, [[COPY]], [[COPY1]]132 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]133 ; CHECK-NEXT: PseudoRET implicit $x10134 %0:gprb(s32) = COPY $x10135 %1:gprb(s32) = COPY $x11136 %2:gprb(s32) = COPY $x12137 %3:gprb(s32) = COPY $x13138 %4:gprb(s32) = COPY $x14139 %5:gprb(s32) = G_CONSTANT i32 -1140 %6:gprb(s32) = G_ICMP intpred(sgt), %2, %5141 %7:gprb(s32) = G_SELECT %6, %0, %1142 $x10 = COPY %7(s32)143 PseudoRET implicit $x10144 145...146---147name: select_icmp_slt1148legalized: true149regBankSelected: true150tracksRegLiveness: true151body: |152 bb.0:153 liveins: $x10, $x11, $x12, $x13, $x14154 155 ; CHECK-LABEL: name: select_icmp_slt1156 ; CHECK: liveins: $x10, $x11, $x12, $x13, $x14157 ; CHECK-NEXT: {{ $}}158 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10159 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11160 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x12161 ; CHECK-NEXT: [[Select_GPR_Using_CC_GPR:%[0-9]+]]:gpr = Select_GPR_Using_CC_GPR $x0, [[COPY2]], 3, [[COPY]], [[COPY1]]162 ; CHECK-NEXT: $x10 = COPY [[Select_GPR_Using_CC_GPR]]163 ; CHECK-NEXT: PseudoRET implicit $x10164 %0:gprb(s32) = COPY $x10165 %1:gprb(s32) = COPY $x11166 %2:gprb(s32) = COPY $x12167 %3:gprb(s32) = COPY $x13168 %4:gprb(s32) = COPY $x14169 %5:gprb(s32) = G_CONSTANT i32 1170 %6:gprb(s32) = G_ICMP intpred(slt), %2, %5171 %7:gprb(s32) = G_SELECT %6, %0, %1172 $x10 = COPY %7(s32)173 PseudoRET implicit $x10174 175...176