461 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS323--- |4 5 define void @ne_i32() {entry: ret void}6 define void @eq_ptr() {entry: ret void}7 define void @ult_i8() {entry: ret void}8 define void @slt_i16() {entry: ret void}9 define void @eq_i64() {entry: ret void}10 define void @ne_i64() {entry: ret void}11 define void @sgt_i64() {entry: ret void}12 define void @sge_i64() {entry: ret void}13 define void @slt_i64() {entry: ret void}14 define void @sle_i64() {entry: ret void}15 define void @ugt_i64() {entry: ret void}16 define void @uge_i64() {entry: ret void}17 define void @ult_i64() {entry: ret void}18 define void @ule_i64() {entry: ret void}19 20...21---22name: ne_i3223alignment: 424tracksRegLiveness: true25body: |26 bb.1.entry:27 liveins: $a0, $a128 29 ; MIPS32-LABEL: name: ne_i3230 ; MIPS32: liveins: $a0, $a131 ; MIPS32-NEXT: {{ $}}32 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a033 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a134 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[COPY]](s32), [[COPY1]]35 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)36 ; MIPS32-NEXT: RetRA implicit $v037 %0:_(s32) = COPY $a038 %1:_(s32) = COPY $a139 %2:_(s1) = G_ICMP intpred(ne), %0(s32), %140 %3:_(s32) = G_ANYEXT %2(s1)41 $v0 = COPY %3(s32)42 RetRA implicit $v043 44...45---46name: eq_ptr47alignment: 448tracksRegLiveness: true49body: |50 bb.1.entry:51 liveins: $a0, $a152 53 ; MIPS32-LABEL: name: eq_ptr54 ; MIPS32: liveins: $a0, $a155 ; MIPS32-NEXT: {{ $}}56 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $a057 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $a158 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY]](p0), [[COPY1]]59 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)60 ; MIPS32-NEXT: RetRA implicit $v061 %0:_(p0) = COPY $a062 %1:_(p0) = COPY $a163 %2:_(s1) = G_ICMP intpred(eq), %0(p0), %164 %3:_(s32) = G_ANYEXT %2(s1)65 $v0 = COPY %3(s32)66 RetRA implicit $v067 68...69---70name: ult_i871alignment: 472tracksRegLiveness: true73body: |74 bb.1.entry:75 liveins: $a0, $a176 77 ; MIPS32-LABEL: name: ult_i878 ; MIPS32: liveins: $a0, $a179 ; MIPS32-NEXT: {{ $}}80 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a081 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a182 ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25583 ; MIPS32-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]84 ; MIPS32-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]85 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND1]]86 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)87 ; MIPS32-NEXT: RetRA implicit $v088 %2:_(s32) = COPY $a089 %0:_(s8) = G_TRUNC %2(s32)90 %3:_(s32) = COPY $a191 %1:_(s8) = G_TRUNC %3(s32)92 %4:_(s1) = G_ICMP intpred(ult), %0(s8), %193 %5:_(s32) = G_ANYEXT %4(s1)94 $v0 = COPY %5(s32)95 RetRA implicit $v096 97...98---99name: slt_i16100alignment: 4101tracksRegLiveness: true102body: |103 bb.1.entry:104 liveins: $a0, $a1105 106 ; MIPS32-LABEL: name: slt_i16107 ; MIPS32: liveins: $a0, $a1108 ; MIPS32-NEXT: {{ $}}109 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0110 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1111 ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16112 ; MIPS32-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)113 ; MIPS32-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)114 ; MIPS32-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)115 ; MIPS32-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)116 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[ASHR]](s32), [[ASHR1]]117 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)118 ; MIPS32-NEXT: RetRA implicit $v0119 %2:_(s32) = COPY $a0120 %0:_(s16) = G_TRUNC %2(s32)121 %3:_(s32) = COPY $a1122 %1:_(s16) = G_TRUNC %3(s32)123 %4:_(s1) = G_ICMP intpred(slt), %0(s16), %1124 %5:_(s32) = G_ANYEXT %4(s1)125 $v0 = COPY %5(s32)126 RetRA implicit $v0127 128...129---130name: eq_i64131alignment: 4132tracksRegLiveness: true133body: |134 bb.1.entry:135 liveins: $a0, $a1, $a2, $a3136 137 ; MIPS32-LABEL: name: eq_i64138 ; MIPS32: liveins: $a0, $a1, $a2, $a3139 ; MIPS32-NEXT: {{ $}}140 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0141 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1142 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2143 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3144 ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0145 ; MIPS32-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[COPY2]]146 ; MIPS32-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR [[COPY1]], [[COPY3]]147 ; MIPS32-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]148 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s32), [[C]]149 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)150 ; MIPS32-NEXT: RetRA implicit $v0151 %2:_(s32) = COPY $a0152 %3:_(s32) = COPY $a1153 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)154 %4:_(s32) = COPY $a2155 %5:_(s32) = COPY $a3156 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)157 %6:_(s1) = G_ICMP intpred(eq), %0(s64), %1158 %7:_(s32) = G_ANYEXT %6(s1)159 $v0 = COPY %7(s32)160 RetRA implicit $v0161 162...163---164name: ne_i64165alignment: 4166tracksRegLiveness: true167body: |168 bb.1.entry:169 liveins: $a0, $a1, $a2, $a3170 171 ; MIPS32-LABEL: name: ne_i64172 ; MIPS32: liveins: $a0, $a1, $a2, $a3173 ; MIPS32-NEXT: {{ $}}174 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0175 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1176 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2177 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3178 ; MIPS32-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 0179 ; MIPS32-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[COPY]], [[COPY2]]180 ; MIPS32-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR [[COPY1]], [[COPY3]]181 ; MIPS32-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]182 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[OR]](s32), [[C]]183 ; MIPS32-NEXT: $v0 = COPY [[ICMP]](s32)184 ; MIPS32-NEXT: RetRA implicit $v0185 %2:_(s32) = COPY $a0186 %3:_(s32) = COPY $a1187 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)188 %4:_(s32) = COPY $a2189 %5:_(s32) = COPY $a3190 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)191 %6:_(s1) = G_ICMP intpred(ne), %0(s64), %1192 %7:_(s32) = G_ANYEXT %6(s1)193 $v0 = COPY %7(s32)194 RetRA implicit $v0195 196...197---198name: sgt_i64199alignment: 4200tracksRegLiveness: true201body: |202 bb.1.entry:203 liveins: $a0, $a1, $a2, $a3204 205 ; MIPS32-LABEL: name: sgt_i64206 ; MIPS32: liveins: $a0, $a1, $a2, $a3207 ; MIPS32-NEXT: {{ $}}208 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0209 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1210 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2211 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3212 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s32), [[COPY2]]213 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[COPY1]](s32), [[COPY3]]214 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]215 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]216 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)217 ; MIPS32-NEXT: RetRA implicit $v0218 %2:_(s32) = COPY $a0219 %3:_(s32) = COPY $a1220 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)221 %4:_(s32) = COPY $a2222 %5:_(s32) = COPY $a3223 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)224 %6:_(s1) = G_ICMP intpred(sgt), %0(s64), %1225 %7:_(s32) = G_ANYEXT %6(s1)226 $v0 = COPY %7(s32)227 RetRA implicit $v0228 229...230---231name: sge_i64232alignment: 4233tracksRegLiveness: true234body: |235 bb.1.entry:236 liveins: $a0, $a1, $a2, $a3237 238 ; MIPS32-LABEL: name: sge_i64239 ; MIPS32: liveins: $a0, $a1, $a2, $a3240 ; MIPS32-NEXT: {{ $}}241 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0242 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1243 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2244 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3245 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[COPY]](s32), [[COPY2]]246 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[COPY1]](s32), [[COPY3]]247 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]248 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]249 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)250 ; MIPS32-NEXT: RetRA implicit $v0251 %2:_(s32) = COPY $a0252 %3:_(s32) = COPY $a1253 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)254 %4:_(s32) = COPY $a2255 %5:_(s32) = COPY $a3256 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)257 %6:_(s1) = G_ICMP intpred(sge), %0(s64), %1258 %7:_(s32) = G_ANYEXT %6(s1)259 $v0 = COPY %7(s32)260 RetRA implicit $v0261 262...263---264name: slt_i64265alignment: 4266tracksRegLiveness: true267body: |268 bb.1.entry:269 liveins: $a0, $a1, $a2, $a3270 271 ; MIPS32-LABEL: name: slt_i64272 ; MIPS32: liveins: $a0, $a1, $a2, $a3273 ; MIPS32-NEXT: {{ $}}274 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0275 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1276 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2277 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3278 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY2]]279 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY1]](s32), [[COPY3]]280 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]281 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]282 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)283 ; MIPS32-NEXT: RetRA implicit $v0284 %2:_(s32) = COPY $a0285 %3:_(s32) = COPY $a1286 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)287 %4:_(s32) = COPY $a2288 %5:_(s32) = COPY $a3289 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)290 %6:_(s1) = G_ICMP intpred(slt), %0(s64), %1291 %7:_(s32) = G_ANYEXT %6(s1)292 $v0 = COPY %7(s32)293 RetRA implicit $v0294 295...296---297name: sle_i64298alignment: 4299tracksRegLiveness: true300body: |301 bb.1.entry:302 liveins: $a0, $a1, $a2, $a3303 304 ; MIPS32-LABEL: name: sle_i64305 ; MIPS32: liveins: $a0, $a1, $a2, $a3306 ; MIPS32-NEXT: {{ $}}307 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0308 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1309 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2310 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3311 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[COPY]](s32), [[COPY2]]312 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[COPY1]](s32), [[COPY3]]313 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]314 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]315 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)316 ; MIPS32-NEXT: RetRA implicit $v0317 %2:_(s32) = COPY $a0318 %3:_(s32) = COPY $a1319 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)320 %4:_(s32) = COPY $a2321 %5:_(s32) = COPY $a3322 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)323 %6:_(s1) = G_ICMP intpred(sle), %0(s64), %1324 %7:_(s32) = G_ANYEXT %6(s1)325 $v0 = COPY %7(s32)326 RetRA implicit $v0327 328...329---330name: ugt_i64331alignment: 4332tracksRegLiveness: true333body: |334 bb.1.entry:335 liveins: $a0, $a1, $a2, $a3336 337 ; MIPS32-LABEL: name: ugt_i64338 ; MIPS32: liveins: $a0, $a1, $a2, $a3339 ; MIPS32-NEXT: {{ $}}340 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0341 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1342 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2343 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3344 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s32), [[COPY2]]345 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY1]](s32), [[COPY3]]346 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]347 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]348 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)349 ; MIPS32-NEXT: RetRA implicit $v0350 %2:_(s32) = COPY $a0351 %3:_(s32) = COPY $a1352 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)353 %4:_(s32) = COPY $a2354 %5:_(s32) = COPY $a3355 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)356 %6:_(s1) = G_ICMP intpred(ugt), %0(s64), %1357 %7:_(s32) = G_ANYEXT %6(s1)358 $v0 = COPY %7(s32)359 RetRA implicit $v0360 361...362---363name: uge_i64364alignment: 4365tracksRegLiveness: true366body: |367 bb.1.entry:368 liveins: $a0, $a1, $a2, $a3369 370 ; MIPS32-LABEL: name: uge_i64371 ; MIPS32: liveins: $a0, $a1, $a2, $a3372 ; MIPS32-NEXT: {{ $}}373 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0374 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1375 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2376 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3377 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[COPY]](s32), [[COPY2]]378 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[COPY1]](s32), [[COPY3]]379 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]380 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]381 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)382 ; MIPS32-NEXT: RetRA implicit $v0383 %2:_(s32) = COPY $a0384 %3:_(s32) = COPY $a1385 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)386 %4:_(s32) = COPY $a2387 %5:_(s32) = COPY $a3388 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)389 %6:_(s1) = G_ICMP intpred(uge), %0(s64), %1390 %7:_(s32) = G_ANYEXT %6(s1)391 $v0 = COPY %7(s32)392 RetRA implicit $v0393 394...395---396name: ult_i64397alignment: 4398tracksRegLiveness: true399body: |400 bb.1.entry:401 liveins: $a0, $a1, $a2, $a3402 403 ; MIPS32-LABEL: name: ult_i64404 ; MIPS32: liveins: $a0, $a1, $a2, $a3405 ; MIPS32-NEXT: {{ $}}406 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0407 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1408 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2409 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3410 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY2]]411 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY1]](s32), [[COPY3]]412 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]413 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]414 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)415 ; MIPS32-NEXT: RetRA implicit $v0416 %2:_(s32) = COPY $a0417 %3:_(s32) = COPY $a1418 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)419 %4:_(s32) = COPY $a2420 %5:_(s32) = COPY $a3421 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)422 %6:_(s1) = G_ICMP intpred(ult), %0(s64), %1423 %7:_(s32) = G_ANYEXT %6(s1)424 $v0 = COPY %7(s32)425 RetRA implicit $v0426 427...428---429name: ule_i64430alignment: 4431tracksRegLiveness: true432body: |433 bb.1.entry:434 liveins: $a0, $a1, $a2, $a3435 436 ; MIPS32-LABEL: name: ule_i64437 ; MIPS32: liveins: $a0, $a1, $a2, $a3438 ; MIPS32-NEXT: {{ $}}439 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $a0440 ; MIPS32-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $a1441 ; MIPS32-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $a2442 ; MIPS32-NEXT: [[COPY3:%[0-9]+]]:_(s32) = COPY $a3443 ; MIPS32-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[COPY]](s32), [[COPY2]]444 ; MIPS32-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[COPY1]](s32), [[COPY3]]445 ; MIPS32-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY1]](s32), [[COPY3]]446 ; MIPS32-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]447 ; MIPS32-NEXT: $v0 = COPY [[SELECT]](s32)448 ; MIPS32-NEXT: RetRA implicit $v0449 %2:_(s32) = COPY $a0450 %3:_(s32) = COPY $a1451 %0:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)452 %4:_(s32) = COPY $a2453 %5:_(s32) = COPY $a3454 %1:_(s64) = G_MERGE_VALUES %4(s32), %5(s32)455 %6:_(s1) = G_ICMP intpred(ule), %0(s64), %1456 %7:_(s32) = G_ANYEXT %6(s1)457 $v0 = COPY %7(s32)458 RetRA implicit $v0459 460...461