1118 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=instruction-select -simplify-mir \3# RUN: -verify-machineinstrs %s -o - | FileCheck %s4---5name: cmp_ult_i646legalized: true7regBankSelected: true8tracksRegLiveness: true9body: |10 bb.0.entry:11 liveins: $x10, $x1112 13 ; CHECK-LABEL: name: cmp_ult_i6414 ; CHECK: liveins: $x10, $x1115 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1017 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1118 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[COPY1]]19 ; CHECK-NEXT: $x10 = COPY [[SLTU]]20 ; CHECK-NEXT: PseudoRET implicit $x1021 %0:gprb(s64) = COPY $x1022 %1:gprb(s64) = COPY $x1123 %2:gprb(s64) = G_ICMP intpred(ult), %0, %124 $x10 = COPY %2(s64)25 PseudoRET implicit $x1026 27...28---29name: cmp_slt_i6430legalized: true31regBankSelected: true32tracksRegLiveness: true33body: |34 bb.0.entry:35 liveins: $x10, $x1136 37 ; CHECK-LABEL: name: cmp_slt_i6438 ; 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: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[COPY1]]43 ; CHECK-NEXT: $x10 = COPY [[SLT]]44 ; CHECK-NEXT: PseudoRET implicit $x1045 %0:gprb(s64) = COPY $x1046 %1:gprb(s64) = COPY $x1147 %2:gprb(s64) = G_ICMP intpred(slt), %0, %148 $x10 = COPY %2(s64)49 PseudoRET implicit $x1050 51...52---53name: cmp_ugt_i6454legalized: true55regBankSelected: true56tracksRegLiveness: true57body: |58 bb.0.entry:59 liveins: $x10, $x1160 61 ; CHECK-LABEL: name: cmp_ugt_i6462 ; CHECK: liveins: $x10, $x1163 ; CHECK-NEXT: {{ $}}64 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1065 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1166 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY1]], [[COPY]]67 ; CHECK-NEXT: $x10 = COPY [[SLTU]]68 ; CHECK-NEXT: PseudoRET implicit $x1069 %0:gprb(s64) = COPY $x1070 %1:gprb(s64) = COPY $x1171 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %172 $x10 = COPY %2(s64)73 PseudoRET implicit $x1074 75...76---77name: cmp_sgt_i6478legalized: true79regBankSelected: true80tracksRegLiveness: true81body: |82 bb.0.entry:83 liveins: $x10, $x1184 85 ; CHECK-LABEL: name: cmp_sgt_i6486 ; CHECK: liveins: $x10, $x1187 ; CHECK-NEXT: {{ $}}88 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1089 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1190 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY1]], [[COPY]]91 ; CHECK-NEXT: $x10 = COPY [[SLT]]92 ; CHECK-NEXT: PseudoRET implicit $x1093 %0:gprb(s64) = COPY $x1094 %1:gprb(s64) = COPY $x1195 %2:gprb(s64) = G_ICMP intpred(sgt), %0, %196 $x10 = COPY %2(s64)97 PseudoRET implicit $x1098 99...100---101name: cmp_eq_i64102legalized: true103regBankSelected: true104tracksRegLiveness: true105body: |106 bb.0.entry:107 liveins: $x10, $x11108 109 ; CHECK-LABEL: name: cmp_eq_i64110 ; CHECK: liveins: $x10, $x11111 ; CHECK-NEXT: {{ $}}112 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10113 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11114 ; CHECK-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[COPY1]]115 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[XOR]], 1116 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]117 ; CHECK-NEXT: PseudoRET implicit $x10118 %0:gprb(s64) = COPY $x10119 %1:gprb(s64) = COPY $x11120 %2:gprb(s64) = G_ICMP intpred(eq), %0, %1121 $x10 = COPY %2(s64)122 PseudoRET implicit $x10123 124...125---126name: cmp_ne_i64127legalized: true128regBankSelected: true129tracksRegLiveness: true130body: |131 bb.0.entry:132 liveins: $x10, $x11133 134 ; CHECK-LABEL: name: cmp_ne_i64135 ; 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: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[COPY1]]140 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[XOR]]141 ; CHECK-NEXT: $x10 = COPY [[SLTU]]142 ; CHECK-NEXT: PseudoRET implicit $x10143 %0:gprb(s64) = COPY $x10144 %1:gprb(s64) = COPY $x11145 %2:gprb(s64) = G_ICMP intpred(ne), %0, %1146 $x10 = COPY %2(s64)147 PseudoRET implicit $x10148 149...150---151name: cmp_ule_i64152legalized: true153regBankSelected: true154tracksRegLiveness: true155body: |156 bb.0.entry:157 liveins: $x10, $x11158 159 ; CHECK-LABEL: name: cmp_ule_i64160 ; CHECK: liveins: $x10, $x11161 ; CHECK-NEXT: {{ $}}162 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10163 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11164 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY1]], [[COPY]]165 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1166 ; CHECK-NEXT: $x10 = COPY [[XORI]]167 ; CHECK-NEXT: PseudoRET implicit $x10168 %0:gprb(s64) = COPY $x10169 %1:gprb(s64) = COPY $x11170 %2:gprb(s64) = G_ICMP intpred(ule), %0, %1171 $x10 = COPY %2(s64)172 PseudoRET implicit $x10173 174...175---176name: cmp_sle_i64177legalized: true178regBankSelected: true179tracksRegLiveness: true180body: |181 bb.0.entry:182 liveins: $x10, $x11183 184 ; CHECK-LABEL: name: cmp_sle_i64185 ; CHECK: liveins: $x10, $x11186 ; CHECK-NEXT: {{ $}}187 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10188 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11189 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY1]], [[COPY]]190 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1191 ; CHECK-NEXT: $x10 = COPY [[XORI]]192 ; CHECK-NEXT: PseudoRET implicit $x10193 %0:gprb(s64) = COPY $x10194 %1:gprb(s64) = COPY $x11195 %2:gprb(s64) = G_ICMP intpred(sle), %0, %1196 $x10 = COPY %2(s64)197 PseudoRET implicit $x10198 199...200---201name: cmp_uge_i64202legalized: true203regBankSelected: true204tracksRegLiveness: true205body: |206 bb.0.entry:207 liveins: $x10, $x11208 209 ; CHECK-LABEL: name: cmp_uge_i64210 ; CHECK: liveins: $x10, $x11211 ; CHECK-NEXT: {{ $}}212 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10213 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11214 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[COPY1]]215 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1216 ; CHECK-NEXT: $x10 = COPY [[XORI]]217 ; CHECK-NEXT: PseudoRET implicit $x10218 %0:gprb(s64) = COPY $x10219 %1:gprb(s64) = COPY $x11220 %2:gprb(s64) = G_ICMP intpred(uge), %0, %1221 $x10 = COPY %2(s64)222 PseudoRET implicit $x10223 224...225---226name: cmp_sge_i64227legalized: true228regBankSelected: true229tracksRegLiveness: true230body: |231 bb.0.entry:232 liveins: $x10, $x11233 234 ; CHECK-LABEL: name: cmp_sge_i64235 ; CHECK: liveins: $x10, $x11236 ; CHECK-NEXT: {{ $}}237 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10238 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11239 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[COPY1]]240 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1241 ; CHECK-NEXT: $x10 = COPY [[XORI]]242 ; CHECK-NEXT: PseudoRET implicit $x10243 %0:gprb(s64) = COPY $x10244 %1:gprb(s64) = COPY $x11245 %2:gprb(s64) = G_ICMP intpred(sge), %0, %1246 $x10 = COPY %2(s64)247 PseudoRET implicit $x10248 249...250---251name: cmp_ult_p0252legalized: true253regBankSelected: true254tracksRegLiveness: true255body: |256 bb.0.entry:257 liveins: $x10, $x11258 259 ; CHECK-LABEL: name: cmp_ult_p0260 ; CHECK: liveins: $x10, $x11261 ; CHECK-NEXT: {{ $}}262 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10263 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11264 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[COPY1]]265 ; CHECK-NEXT: $x10 = COPY [[SLTU]]266 ; CHECK-NEXT: PseudoRET implicit $x10267 %0:gprb(p0) = COPY $x10268 %1:gprb(p0) = COPY $x11269 %2:gprb(s64) = G_ICMP intpred(ult), %0, %1270 $x10 = COPY %2(s64)271 PseudoRET implicit $x10272 273...274---275name: cmp_slt_p0276legalized: true277regBankSelected: true278tracksRegLiveness: true279body: |280 bb.0.entry:281 liveins: $x10, $x11282 283 ; CHECK-LABEL: name: cmp_slt_p0284 ; CHECK: liveins: $x10, $x11285 ; CHECK-NEXT: {{ $}}286 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10287 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11288 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[COPY1]]289 ; CHECK-NEXT: $x10 = COPY [[SLT]]290 ; CHECK-NEXT: PseudoRET implicit $x10291 %0:gprb(p0) = COPY $x10292 %1:gprb(p0) = COPY $x11293 %2:gprb(s64) = G_ICMP intpred(slt), %0, %1294 $x10 = COPY %2(s64)295 PseudoRET implicit $x10296 297...298---299name: cmp_ugt_p0300legalized: true301regBankSelected: true302tracksRegLiveness: true303body: |304 bb.0.entry:305 liveins: $x10, $x11306 307 ; CHECK-LABEL: name: cmp_ugt_p0308 ; CHECK: liveins: $x10, $x11309 ; CHECK-NEXT: {{ $}}310 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10311 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11312 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY1]], [[COPY]]313 ; CHECK-NEXT: $x10 = COPY [[SLTU]]314 ; CHECK-NEXT: PseudoRET implicit $x10315 %0:gprb(p0) = COPY $x10316 %1:gprb(p0) = COPY $x11317 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %1318 $x10 = COPY %2(s64)319 PseudoRET implicit $x10320 321...322---323name: cmp_sgt_p0324legalized: true325regBankSelected: true326tracksRegLiveness: true327body: |328 bb.0.entry:329 liveins: $x10, $x11330 331 ; CHECK-LABEL: name: cmp_sgt_p0332 ; CHECK: liveins: $x10, $x11333 ; CHECK-NEXT: {{ $}}334 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10335 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11336 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY1]], [[COPY]]337 ; CHECK-NEXT: $x10 = COPY [[SLT]]338 ; CHECK-NEXT: PseudoRET implicit $x10339 %0:gprb(p0) = COPY $x10340 %1:gprb(p0) = COPY $x11341 %2:gprb(s64) = G_ICMP intpred(sgt), %0, %1342 $x10 = COPY %2(s64)343 PseudoRET implicit $x10344 345...346---347name: cmp_eq_p0348legalized: true349regBankSelected: true350tracksRegLiveness: true351body: |352 bb.0.entry:353 liveins: $x10, $x11354 355 ; CHECK-LABEL: name: cmp_eq_p0356 ; CHECK: liveins: $x10, $x11357 ; CHECK-NEXT: {{ $}}358 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10359 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11360 ; CHECK-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[COPY1]]361 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[XOR]], 1362 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]363 ; CHECK-NEXT: PseudoRET implicit $x10364 %0:gprb(p0) = COPY $x10365 %1:gprb(p0) = COPY $x11366 %2:gprb(s64) = G_ICMP intpred(eq), %0, %1367 $x10 = COPY %2(s64)368 PseudoRET implicit $x10369 370...371---372name: cmp_ne_p0373legalized: true374regBankSelected: true375tracksRegLiveness: true376body: |377 bb.0.entry:378 liveins: $x10, $x11379 380 ; CHECK-LABEL: name: cmp_ne_p0381 ; CHECK: liveins: $x10, $x11382 ; CHECK-NEXT: {{ $}}383 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10384 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11385 ; CHECK-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[COPY1]]386 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[XOR]]387 ; CHECK-NEXT: $x10 = COPY [[SLTU]]388 ; CHECK-NEXT: PseudoRET implicit $x10389 %0:gprb(p0) = COPY $x10390 %1:gprb(p0) = COPY $x11391 %2:gprb(s64) = G_ICMP intpred(ne), %0, %1392 $x10 = COPY %2(s64)393 PseudoRET implicit $x10394 395...396---397name: cmp_ule_p0398legalized: true399regBankSelected: true400tracksRegLiveness: true401body: |402 bb.0.entry:403 liveins: $x10, $x11404 405 ; CHECK-LABEL: name: cmp_ule_p0406 ; CHECK: liveins: $x10, $x11407 ; CHECK-NEXT: {{ $}}408 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10409 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11410 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY1]], [[COPY]]411 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1412 ; CHECK-NEXT: $x10 = COPY [[XORI]]413 ; CHECK-NEXT: PseudoRET implicit $x10414 %0:gprb(p0) = COPY $x10415 %1:gprb(p0) = COPY $x11416 %2:gprb(s64) = G_ICMP intpred(ule), %0, %1417 $x10 = COPY %2(s64)418 PseudoRET implicit $x10419 420...421---422name: cmp_sle_p0423legalized: true424regBankSelected: true425tracksRegLiveness: true426body: |427 bb.0.entry:428 liveins: $x10, $x11429 430 ; CHECK-LABEL: name: cmp_sle_p0431 ; CHECK: liveins: $x10, $x11432 ; CHECK-NEXT: {{ $}}433 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10434 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11435 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY1]], [[COPY]]436 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1437 ; CHECK-NEXT: $x10 = COPY [[XORI]]438 ; CHECK-NEXT: PseudoRET implicit $x10439 %0:gprb(p0) = COPY $x10440 %1:gprb(p0) = COPY $x11441 %2:gprb(s64) = G_ICMP intpred(sle), %0, %1442 $x10 = COPY %2(s64)443 PseudoRET implicit $x10444 445...446---447name: cmp_uge_p0448legalized: true449regBankSelected: true450tracksRegLiveness: true451body: |452 bb.0.entry:453 liveins: $x10, $x11454 455 ; CHECK-LABEL: name: cmp_uge_p0456 ; CHECK: liveins: $x10, $x11457 ; CHECK-NEXT: {{ $}}458 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10459 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11460 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[COPY1]]461 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1462 ; CHECK-NEXT: $x10 = COPY [[XORI]]463 ; CHECK-NEXT: PseudoRET implicit $x10464 %0:gprb(p0) = COPY $x10465 %1:gprb(p0) = COPY $x11466 %2:gprb(s64) = G_ICMP intpred(uge), %0, %1467 $x10 = COPY %2(s64)468 PseudoRET implicit $x10469 470...471---472name: cmp_sge_p0473legalized: true474regBankSelected: true475tracksRegLiveness: true476body: |477 bb.0.entry:478 liveins: $x10, $x11479 480 ; CHECK-LABEL: name: cmp_sge_p0481 ; CHECK: liveins: $x10, $x11482 ; CHECK-NEXT: {{ $}}483 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10484 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11485 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[COPY1]]486 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1487 ; CHECK-NEXT: $x10 = COPY [[XORI]]488 ; CHECK-NEXT: PseudoRET implicit $x10489 %0:gprb(p0) = COPY $x10490 %1:gprb(p0) = COPY $x11491 %2:gprb(s64) = G_ICMP intpred(sge), %0, %1492 $x10 = COPY %2(s64)493 PseudoRET implicit $x10494 495...496---497name: cmp_ulti_i64498legalized: true499regBankSelected: true500tracksRegLiveness: true501body: |502 bb.0.entry:503 liveins: $x10504 505 ; CHECK-LABEL: name: cmp_ulti_i64506 ; CHECK: liveins: $x10507 ; CHECK-NEXT: {{ $}}508 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10509 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 10510 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]511 ; CHECK-NEXT: PseudoRET implicit $x10512 %0:gprb(s64) = COPY $x10513 %1:gprb(s64) = G_CONSTANT i64 10514 %2:gprb(s64) = G_ICMP intpred(ult), %0, %1515 $x10 = COPY %2(s64)516 PseudoRET implicit $x10517 518...519---520name: cmp_slti_i64521legalized: true522regBankSelected: true523tracksRegLiveness: true524body: |525 bb.0.entry:526 liveins: $x10527 528 ; CHECK-LABEL: name: cmp_slti_i64529 ; CHECK: liveins: $x10530 ; CHECK-NEXT: {{ $}}531 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10532 ; CHECK-NEXT: [[SLTI:%[0-9]+]]:gpr = SLTI [[COPY]], -10533 ; CHECK-NEXT: $x10 = COPY [[SLTI]]534 ; CHECK-NEXT: PseudoRET implicit $x10535 %0:gprb(s64) = COPY $x10536 %1:gprb(s64) = G_CONSTANT i64 -10537 %2:gprb(s64) = G_ICMP intpred(slt), %0, %1538 $x10 = COPY %2(s64)539 PseudoRET implicit $x10540 541...542---543name: cmp_ugti_i64544legalized: true545regBankSelected: true546tracksRegLiveness: true547body: |548 bb.0.entry:549 liveins: $x10550 551 ; CHECK-LABEL: name: cmp_ugti_i64552 ; CHECK: liveins: $x10553 ; CHECK-NEXT: {{ $}}554 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10555 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 11556 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTIU]], 1557 ; CHECK-NEXT: $x10 = COPY [[XORI]]558 ; CHECK-NEXT: PseudoRET implicit $x10559 %0:gprb(s64) = COPY $x10560 %1:gprb(s64) = G_CONSTANT i64 10561 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %1562 $x10 = COPY %2(s64)563 PseudoRET implicit $x10564 565...566---567name: cmp_sgti_i64568legalized: true569regBankSelected: true570tracksRegLiveness: true571body: |572 bb.0.entry:573 liveins: $x10574 575 ; CHECK-LABEL: name: cmp_sgti_i64576 ; CHECK: liveins: $x10577 ; CHECK-NEXT: {{ $}}578 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10579 ; CHECK-NEXT: [[SLTI:%[0-9]+]]:gpr = SLTI [[COPY]], -9580 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTI]], 1581 ; CHECK-NEXT: $x10 = COPY [[XORI]]582 ; CHECK-NEXT: PseudoRET implicit $x10583 %0:gprb(s64) = COPY $x10584 %1:gprb(s64) = G_CONSTANT i64 -10585 %2:gprb(s64) = G_ICMP intpred(sgt), %0, %1586 $x10 = COPY %2(s64)587 PseudoRET implicit $x10588 589...590---591name: cmp_eqi_i64592legalized: true593regBankSelected: true594tracksRegLiveness: true595body: |596 bb.0.entry:597 liveins: $x10598 599 ; CHECK-LABEL: name: cmp_eqi_i64600 ; CHECK: liveins: $x10601 ; CHECK-NEXT: {{ $}}602 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10603 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[COPY]], -10604 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[ADDI]], 1605 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]606 ; CHECK-NEXT: PseudoRET implicit $x10607 %0:gprb(s64) = COPY $x10608 %1:gprb(s64) = G_CONSTANT i64 10609 %2:gprb(s64) = G_ICMP intpred(eq), %0, %1610 $x10 = COPY %2(s64)611 PseudoRET implicit $x10612 613...614---615name: cmp_nei_i64616legalized: true617regBankSelected: true618tracksRegLiveness: true619body: |620 bb.0.entry:621 liveins: $x10622 623 ; CHECK-LABEL: name: cmp_nei_i64624 ; CHECK: liveins: $x10625 ; CHECK-NEXT: {{ $}}626 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10627 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[COPY]], 10628 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[ADDI]]629 ; CHECK-NEXT: $x10 = COPY [[SLTU]]630 ; CHECK-NEXT: PseudoRET implicit $x10631 %0:gprb(s64) = COPY $x10632 %1:gprb(s64) = G_CONSTANT i64 -10633 %2:gprb(s64) = G_ICMP intpred(ne), %0, %1634 $x10 = COPY %2(s64)635 PseudoRET implicit $x10636 637...638---639name: cmp_ulei_i64640legalized: true641regBankSelected: true642tracksRegLiveness: true643body: |644 bb.0.entry:645 liveins: $x10646 647 ; CHECK-LABEL: name: cmp_ulei_i64648 ; CHECK: liveins: $x10649 ; CHECK-NEXT: {{ $}}650 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10651 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 11652 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]653 ; CHECK-NEXT: PseudoRET implicit $x10654 %0:gprb(s64) = COPY $x10655 %1:gprb(s64) = G_CONSTANT i64 10656 %2:gprb(s64) = G_ICMP intpred(ule), %0, %1657 $x10 = COPY %2(s64)658 PseudoRET implicit $x10659 660...661---662name: cmp_slei_i64663legalized: true664regBankSelected: true665tracksRegLiveness: true666body: |667 bb.0.entry:668 liveins: $x10669 670 ; CHECK-LABEL: name: cmp_slei_i64671 ; CHECK: liveins: $x10672 ; CHECK-NEXT: {{ $}}673 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10674 ; CHECK-NEXT: [[SLTI:%[0-9]+]]:gpr = SLTI [[COPY]], -9675 ; CHECK-NEXT: $x10 = COPY [[SLTI]]676 ; CHECK-NEXT: PseudoRET implicit $x10677 %0:gprb(s64) = COPY $x10678 %1:gprb(s64) = G_CONSTANT i64 -10679 %2:gprb(s64) = G_ICMP intpred(sle), %0, %1680 $x10 = COPY %2(s64)681 PseudoRET implicit $x10682 683...684---685name: cmp_ugei_i64686legalized: true687regBankSelected: true688tracksRegLiveness: true689body: |690 bb.0.entry:691 liveins: $x10692 693 ; CHECK-LABEL: name: cmp_ugei_i64694 ; CHECK: liveins: $x10695 ; CHECK-NEXT: {{ $}}696 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10697 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 10698 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTIU]], 1699 ; CHECK-NEXT: $x10 = COPY [[XORI]]700 ; CHECK-NEXT: PseudoRET implicit $x10701 %0:gprb(s64) = COPY $x10702 %1:gprb(s64) = G_CONSTANT i64 10703 %2:gprb(s64) = G_ICMP intpred(uge), %0, %1704 $x10 = COPY %2(s64)705 PseudoRET implicit $x10706 707...708---709name: cmp_sgei_i64710legalized: true711regBankSelected: true712tracksRegLiveness: true713body: |714 bb.0.entry:715 liveins: $x10716 717 ; CHECK-LABEL: name: cmp_sgei_i64718 ; CHECK: liveins: $x10719 ; CHECK-NEXT: {{ $}}720 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10721 ; CHECK-NEXT: [[SLTI:%[0-9]+]]:gpr = SLTI [[COPY]], -10722 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTI]], 1723 ; CHECK-NEXT: $x10 = COPY [[XORI]]724 ; CHECK-NEXT: PseudoRET implicit $x10725 %0:gprb(s64) = COPY $x10726 %1:gprb(s64) = G_CONSTANT i64 -10727 %2:gprb(s64) = G_ICMP intpred(sge), %0, %1728 $x10 = COPY %2(s64)729 PseudoRET implicit $x10730 731...732---733name: cmp_ulti_p0734legalized: true735regBankSelected: true736tracksRegLiveness: true737body: |738 bb.0.entry:739 liveins: $x10740 741 ; CHECK-LABEL: name: cmp_ulti_p0742 ; CHECK: liveins: $x10743 ; CHECK-NEXT: {{ $}}744 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10745 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 10746 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[ADDI]]747 ; CHECK-NEXT: $x10 = COPY [[SLTU]]748 ; CHECK-NEXT: PseudoRET implicit $x10749 %0:gprb(p0) = COPY $x10750 %1:gprb(p0) = G_CONSTANT i64 10751 %2:gprb(s64) = G_ICMP intpred(ult), %0, %1752 $x10 = COPY %2(s64)753 PseudoRET implicit $x10754 755...756---757name: cmp_slti_p0758legalized: true759regBankSelected: true760tracksRegLiveness: true761body: |762 bb.0.entry:763 liveins: $x10764 765 ; CHECK-LABEL: name: cmp_slti_p0766 ; CHECK: liveins: $x10767 ; CHECK-NEXT: {{ $}}768 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10769 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -10770 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[ADDI]]771 ; CHECK-NEXT: $x10 = COPY [[SLT]]772 ; CHECK-NEXT: PseudoRET implicit $x10773 %0:gprb(p0) = COPY $x10774 %1:gprb(p0) = G_CONSTANT i64 -10775 %2:gprb(s64) = G_ICMP intpred(slt), %0, %1776 $x10 = COPY %2(s64)777 PseudoRET implicit $x10778 779...780---781name: cmp_ugti_p0782legalized: true783regBankSelected: true784tracksRegLiveness: true785body: |786 bb.0.entry:787 liveins: $x10788 789 ; CHECK-LABEL: name: cmp_ugti_p0790 ; CHECK: liveins: $x10791 ; CHECK-NEXT: {{ $}}792 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10793 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 10794 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[ADDI]], [[COPY]]795 ; CHECK-NEXT: $x10 = COPY [[SLTU]]796 ; CHECK-NEXT: PseudoRET implicit $x10797 %0:gprb(p0) = COPY $x10798 %1:gprb(p0) = G_CONSTANT i64 10799 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %1800 $x10 = COPY %2(s64)801 PseudoRET implicit $x10802 803...804---805name: cmp_sgti_p0806legalized: true807regBankSelected: true808tracksRegLiveness: true809body: |810 bb.0.entry:811 liveins: $x10812 813 ; CHECK-LABEL: name: cmp_sgti_p0814 ; CHECK: liveins: $x10815 ; CHECK-NEXT: {{ $}}816 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10817 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -10818 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[ADDI]], [[COPY]]819 ; CHECK-NEXT: $x10 = COPY [[SLT]]820 ; CHECK-NEXT: PseudoRET implicit $x10821 %0:gprb(p0) = COPY $x10822 %1:gprb(p0) = G_CONSTANT i64 -10823 %2:gprb(s64) = G_ICMP intpred(sgt), %0, %1824 $x10 = COPY %2(s64)825 PseudoRET implicit $x10826 827...828---829name: cmp_eqi_p0830legalized: true831regBankSelected: true832tracksRegLiveness: true833body: |834 bb.0.entry:835 liveins: $x10836 837 ; CHECK-LABEL: name: cmp_eqi_p0838 ; CHECK: liveins: $x10839 ; CHECK-NEXT: {{ $}}840 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10841 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 10842 ; CHECK-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[ADDI]]843 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[XOR]], 1844 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]845 ; CHECK-NEXT: PseudoRET implicit $x10846 %0:gprb(p0) = COPY $x10847 %1:gprb(p0) = G_CONSTANT i64 10848 %2:gprb(s64) = G_ICMP intpred(eq), %0, %1849 $x10 = COPY %2(s64)850 PseudoRET implicit $x10851 852...853---854name: cmp_nei_p0855legalized: true856regBankSelected: true857tracksRegLiveness: true858body: |859 bb.0.entry:860 liveins: $x10861 862 ; CHECK-LABEL: name: cmp_nei_p0863 ; CHECK: liveins: $x10864 ; CHECK-NEXT: {{ $}}865 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10866 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -10867 ; CHECK-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[ADDI]]868 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[XOR]]869 ; CHECK-NEXT: $x10 = COPY [[SLTU]]870 ; CHECK-NEXT: PseudoRET implicit $x10871 %0:gprb(p0) = COPY $x10872 %1:gprb(p0) = G_CONSTANT i64 -10873 %2:gprb(s64) = G_ICMP intpred(ne), %0, %1874 $x10 = COPY %2(s64)875 PseudoRET implicit $x10876 877...878---879name: cmp_ulei_p0880legalized: true881regBankSelected: true882tracksRegLiveness: true883body: |884 bb.0.entry:885 liveins: $x10886 887 ; CHECK-LABEL: name: cmp_ulei_p0888 ; CHECK: liveins: $x10889 ; CHECK-NEXT: {{ $}}890 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10891 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 10892 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[ADDI]], [[COPY]]893 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1894 ; CHECK-NEXT: $x10 = COPY [[XORI]]895 ; CHECK-NEXT: PseudoRET implicit $x10896 %0:gprb(p0) = COPY $x10897 %1:gprb(p0) = G_CONSTANT i64 10898 %2:gprb(s64) = G_ICMP intpred(ule), %0, %1899 $x10 = COPY %2(s64)900 PseudoRET implicit $x10901 902...903---904name: cmp_slei_p0905legalized: true906regBankSelected: true907tracksRegLiveness: true908body: |909 bb.0.entry:910 liveins: $x10911 912 ; CHECK-LABEL: name: cmp_slei_p0913 ; CHECK: liveins: $x10914 ; CHECK-NEXT: {{ $}}915 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10916 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -10917 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[ADDI]], [[COPY]]918 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1919 ; CHECK-NEXT: $x10 = COPY [[XORI]]920 ; CHECK-NEXT: PseudoRET implicit $x10921 %0:gprb(p0) = COPY $x10922 %1:gprb(p0) = G_CONSTANT i64 -10923 %2:gprb(s64) = G_ICMP intpred(sle), %0, %1924 $x10 = COPY %2(s64)925 PseudoRET implicit $x10926 927...928---929name: cmp_ugei_p0930legalized: true931regBankSelected: true932tracksRegLiveness: true933body: |934 bb.0.entry:935 liveins: $x10936 937 ; CHECK-LABEL: name: cmp_ugei_p0938 ; CHECK: liveins: $x10939 ; CHECK-NEXT: {{ $}}940 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10941 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 10942 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[ADDI]]943 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLTU]], 1944 ; CHECK-NEXT: $x10 = COPY [[XORI]]945 ; CHECK-NEXT: PseudoRET implicit $x10946 %0:gprb(p0) = COPY $x10947 %1:gprb(p0) = G_CONSTANT i64 10948 %2:gprb(s64) = G_ICMP intpred(uge), %0, %1949 $x10 = COPY %2(s64)950 PseudoRET implicit $x10951 952...953---954name: cmp_sgei_p0955legalized: true956regBankSelected: true957tracksRegLiveness: true958body: |959 bb.0.entry:960 liveins: $x10961 962 ; CHECK-LABEL: name: cmp_sgei_p0963 ; CHECK: liveins: $x10964 ; CHECK-NEXT: {{ $}}965 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10966 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -10967 ; CHECK-NEXT: [[SLT:%[0-9]+]]:gpr = SLT [[COPY]], [[ADDI]]968 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[SLT]], 1969 ; CHECK-NEXT: $x10 = COPY [[XORI]]970 ; CHECK-NEXT: PseudoRET implicit $x10971 %0:gprb(p0) = COPY $x10972 %1:gprb(p0) = G_CONSTANT i64 -10973 %2:gprb(s64) = G_ICMP intpred(sge), %0, %1974 $x10 = COPY %2(s64)975 PseudoRET implicit $x10976 977...978---979name: cmp_eq0_i64980legalized: true981regBankSelected: true982tracksRegLiveness: true983body: |984 bb.0.entry:985 liveins: $x10986 987 ; CHECK-LABEL: name: cmp_eq0_i64988 ; CHECK: liveins: $x10989 ; CHECK-NEXT: {{ $}}990 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10991 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 1992 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]993 ; CHECK-NEXT: PseudoRET implicit $x10994 %0:gprb(s64) = COPY $x10995 %1:gprb(s64) = G_CONSTANT i64 0996 %2:gprb(s64) = G_ICMP intpred(eq), %0, %1997 $x10 = COPY %2(s64)998 PseudoRET implicit $x10999 1000...1001---1002name: cmp_eq0_p01003legalized: true1004regBankSelected: true1005tracksRegLiveness: true1006body: |1007 bb.0.entry:1008 liveins: $x101009 1010 ; CHECK-LABEL: name: cmp_eq0_p01011 ; CHECK: liveins: $x101012 ; CHECK-NEXT: {{ $}}1013 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x101014 ; CHECK-NEXT: [[SLTIU:%[0-9]+]]:gpr = SLTIU [[COPY]], 11015 ; CHECK-NEXT: $x10 = COPY [[SLTIU]]1016 ; CHECK-NEXT: PseudoRET implicit $x101017 %0:gprb(p0) = COPY $x101018 %1:gprb(p0) = G_CONSTANT i64 01019 %2:gprb(s64) = G_ICMP intpred(eq), %0, %11020 $x10 = COPY %2(s64)1021 PseudoRET implicit $x101022 1023...1024---1025name: cmp_ne0_i641026legalized: true1027regBankSelected: true1028tracksRegLiveness: true1029body: |1030 bb.0.entry:1031 liveins: $x101032 1033 ; CHECK-LABEL: name: cmp_ne0_i641034 ; CHECK: liveins: $x101035 ; CHECK-NEXT: {{ $}}1036 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x101037 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[COPY]]1038 ; CHECK-NEXT: $x10 = COPY [[SLTU]]1039 ; CHECK-NEXT: PseudoRET implicit $x101040 %0:gprb(s64) = COPY $x101041 %1:gprb(s64) = G_CONSTANT i64 01042 %2:gprb(s64) = G_ICMP intpred(ne), %0, %11043 $x10 = COPY %2(s64)1044 PseudoRET implicit $x101045 1046...1047---1048name: cmp_ne0_p01049legalized: true1050regBankSelected: true1051tracksRegLiveness: true1052body: |1053 bb.0.entry:1054 liveins: $x101055 1056 ; CHECK-LABEL: name: cmp_ne0_p01057 ; CHECK: liveins: $x101058 ; CHECK-NEXT: {{ $}}1059 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x101060 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU $x0, [[COPY]]1061 ; CHECK-NEXT: $x10 = COPY [[SLTU]]1062 ; CHECK-NEXT: PseudoRET implicit $x101063 %0:gprb(p0) = COPY $x101064 %1:gprb(p0) = G_CONSTANT i64 01065 %2:gprb(s64) = G_ICMP intpred(ne), %0, %11066 $x10 = COPY %2(s64)1067 PseudoRET implicit $x101068 1069...1070---1071name: cmp_ugt_neg1_i641072legalized: true1073regBankSelected: true1074tracksRegLiveness: true1075body: |1076 bb.0.entry:1077 liveins: $x101078 1079 ; CHECK-LABEL: name: cmp_ugt_neg1_i641080 ; CHECK: liveins: $x101081 ; CHECK-NEXT: {{ $}}1082 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x101083 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -11084 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[ADDI]], [[COPY]]1085 ; CHECK-NEXT: $x10 = COPY [[SLTU]]1086 ; CHECK-NEXT: PseudoRET implicit $x101087 %0:gprb(s64) = COPY $x101088 %1:gprb(s64) = G_CONSTANT i64 -11089 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %11090 $x10 = COPY %2(s64)1091 PseudoRET implicit $x101092 1093...1094---1095name: cmp_ugt_neg1_p01096legalized: true1097regBankSelected: true1098tracksRegLiveness: true1099body: |1100 bb.0.entry:1101 liveins: $x101102 1103 ; CHECK-LABEL: name: cmp_ugt_neg1_p01104 ; CHECK: liveins: $x101105 ; CHECK-NEXT: {{ $}}1106 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x101107 ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -11108 ; CHECK-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[ADDI]], [[COPY]]1109 ; CHECK-NEXT: $x10 = COPY [[SLTU]]1110 ; CHECK-NEXT: PseudoRET implicit $x101111 %0:gprb(p0) = COPY $x101112 %1:gprb(p0) = G_CONSTANT i64 -11113 %2:gprb(s64) = G_ICMP intpred(ugt), %0, %11114 $x10 = COPY %2(s64)1115 PseudoRET implicit $x101116 1117...1118