3012 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4--- |5 source_filename = "icmp-autogen-tests-with-ne.ll"6 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"7 target triple = "aarch64"8 9 define <2 x i1> @test_v2i64_eq(<2 x i64> %v1, <2 x i64> %v2) {10 %cmp = icmp eq <2 x i64> %v1, %v211 ret <2 x i1> %cmp12 }13 14 define <4 x i1> @test_v4i32_eq(<4 x i32> %v1, <4 x i32> %v2) {15 %cmp = icmp eq <4 x i32> %v1, %v216 ret <4 x i1> %cmp17 }18 19 define <2 x i1> @test_v2i32_eq(<2 x i32> %v1, <2 x i32> %v2) {20 %cmp = icmp eq <2 x i32> %v1, %v221 ret <2 x i1> %cmp22 }23 24 define <2 x i1> @test_v2i16_eq(<2 x i16> %v1, <2 x i16> %v2) {25 %cmp = icmp eq <2 x i16> %v1, %v226 ret <2 x i1> %cmp27 }28 29 define <8 x i1> @test_v8i16_eq(<8 x i16> %v1, <8 x i16> %v2) {30 %cmp = icmp eq <8 x i16> %v1, %v231 ret <8 x i1> %cmp32 }33 34 define <4 x i1> @test_v4i16_eq(<4 x i16> %v1, <4 x i16> %v2) {35 %cmp = icmp eq <4 x i16> %v1, %v236 ret <4 x i1> %cmp37 }38 39 define <16 x i1> @test_v16i8_eq(<16 x i8> %v1, <16 x i8> %v2) {40 %cmp = icmp eq <16 x i8> %v1, %v241 ret <16 x i1> %cmp42 }43 44 define <8 x i1> @test_v8i8_eq(<8 x i8> %v1, <8 x i8> %v2) {45 %cmp = icmp eq <8 x i8> %v1, %v246 ret <8 x i1> %cmp47 }48 49 define <2 x i1> @test_v2i64_ugt(<2 x i64> %v1, <2 x i64> %v2) {50 %cmp = icmp ugt <2 x i64> %v1, %v251 ret <2 x i1> %cmp52 }53 54 define <4 x i1> @test_v4i32_ugt(<4 x i32> %v1, <4 x i32> %v2) {55 %cmp = icmp ugt <4 x i32> %v1, %v256 ret <4 x i1> %cmp57 }58 59 define <2 x i1> @test_v2i32_ugt(<2 x i32> %v1, <2 x i32> %v2) {60 %cmp = icmp ugt <2 x i32> %v1, %v261 ret <2 x i1> %cmp62 }63 64 define <2 x i1> @test_v2i16_ugt(<2 x i16> %v1, <2 x i16> %v2) {65 %cmp = icmp ugt <2 x i16> %v1, %v266 ret <2 x i1> %cmp67 }68 69 define <8 x i1> @test_v8i16_ugt(<8 x i16> %v1, <8 x i16> %v2) {70 %cmp = icmp ugt <8 x i16> %v1, %v271 ret <8 x i1> %cmp72 }73 74 define <4 x i1> @test_v4i16_ugt(<4 x i16> %v1, <4 x i16> %v2) {75 %cmp = icmp ugt <4 x i16> %v1, %v276 ret <4 x i1> %cmp77 }78 79 define <16 x i1> @test_v16i8_ugt(<16 x i8> %v1, <16 x i8> %v2) {80 %cmp = icmp ugt <16 x i8> %v1, %v281 ret <16 x i1> %cmp82 }83 84 define <8 x i1> @test_v8i8_ugt(<8 x i8> %v1, <8 x i8> %v2) {85 %cmp = icmp ugt <8 x i8> %v1, %v286 ret <8 x i1> %cmp87 }88 89 define <2 x i1> @test_v2i64_uge(<2 x i64> %v1, <2 x i64> %v2) {90 %cmp = icmp uge <2 x i64> %v1, %v291 ret <2 x i1> %cmp92 }93 94 define <4 x i1> @test_v4i32_uge(<4 x i32> %v1, <4 x i32> %v2) {95 %cmp = icmp uge <4 x i32> %v1, %v296 ret <4 x i1> %cmp97 }98 99 define <2 x i1> @test_v2i32_uge(<2 x i32> %v1, <2 x i32> %v2) {100 %cmp = icmp uge <2 x i32> %v1, %v2101 ret <2 x i1> %cmp102 }103 104 define <2 x i1> @test_v2i16_uge(<2 x i16> %v1, <2 x i16> %v2) {105 %cmp = icmp uge <2 x i16> %v1, %v2106 ret <2 x i1> %cmp107 }108 109 define <8 x i1> @test_v8i16_uge(<8 x i16> %v1, <8 x i16> %v2) {110 %cmp = icmp uge <8 x i16> %v1, %v2111 ret <8 x i1> %cmp112 }113 114 define <4 x i1> @test_v4i16_uge(<4 x i16> %v1, <4 x i16> %v2) {115 %cmp = icmp uge <4 x i16> %v1, %v2116 ret <4 x i1> %cmp117 }118 119 define <16 x i1> @test_v16i8_uge(<16 x i8> %v1, <16 x i8> %v2) {120 %cmp = icmp uge <16 x i8> %v1, %v2121 ret <16 x i1> %cmp122 }123 124 define <8 x i1> @test_v8i8_uge(<8 x i8> %v1, <8 x i8> %v2) {125 %cmp = icmp uge <8 x i8> %v1, %v2126 ret <8 x i1> %cmp127 }128 129 define <2 x i1> @test_v2i64_ult(<2 x i64> %v1, <2 x i64> %v2) {130 %cmp = icmp ult <2 x i64> %v1, %v2131 ret <2 x i1> %cmp132 }133 134 define <4 x i1> @test_v4i32_ult(<4 x i32> %v1, <4 x i32> %v2) {135 %cmp = icmp ult <4 x i32> %v1, %v2136 ret <4 x i1> %cmp137 }138 139 define <2 x i1> @test_v2i32_ult(<2 x i32> %v1, <2 x i32> %v2) {140 %cmp = icmp ult <2 x i32> %v1, %v2141 ret <2 x i1> %cmp142 }143 144 define <2 x i1> @test_v2i16_ult(<2 x i16> %v1, <2 x i16> %v2) {145 %cmp = icmp ult <2 x i16> %v1, %v2146 ret <2 x i1> %cmp147 }148 149 define <8 x i1> @test_v8i16_ult(<8 x i16> %v1, <8 x i16> %v2) {150 %cmp = icmp ult <8 x i16> %v1, %v2151 ret <8 x i1> %cmp152 }153 154 define <4 x i1> @test_v4i16_ult(<4 x i16> %v1, <4 x i16> %v2) {155 %cmp = icmp ult <4 x i16> %v1, %v2156 ret <4 x i1> %cmp157 }158 159 define <16 x i1> @test_v16i8_ult(<16 x i8> %v1, <16 x i8> %v2) {160 %cmp = icmp ult <16 x i8> %v1, %v2161 ret <16 x i1> %cmp162 }163 164 define <8 x i1> @test_v8i8_ult(<8 x i8> %v1, <8 x i8> %v2) {165 %cmp = icmp ult <8 x i8> %v1, %v2166 ret <8 x i1> %cmp167 }168 169 define <2 x i1> @test_v2i64_ule(<2 x i64> %v1, <2 x i64> %v2) {170 %cmp = icmp ule <2 x i64> %v1, %v2171 ret <2 x i1> %cmp172 }173 174 define <4 x i1> @test_v4i32_ule(<4 x i32> %v1, <4 x i32> %v2) {175 %cmp = icmp ule <4 x i32> %v1, %v2176 ret <4 x i1> %cmp177 }178 179 define <2 x i1> @test_v2i32_ule(<2 x i32> %v1, <2 x i32> %v2) {180 %cmp = icmp ule <2 x i32> %v1, %v2181 ret <2 x i1> %cmp182 }183 184 define <2 x i1> @test_v2i16_ule(<2 x i16> %v1, <2 x i16> %v2) {185 %cmp = icmp ule <2 x i16> %v1, %v2186 ret <2 x i1> %cmp187 }188 189 define <8 x i1> @test_v8i16_ule(<8 x i16> %v1, <8 x i16> %v2) {190 %cmp = icmp ule <8 x i16> %v1, %v2191 ret <8 x i1> %cmp192 }193 194 define <4 x i1> @test_v4i16_ule(<4 x i16> %v1, <4 x i16> %v2) {195 %cmp = icmp ule <4 x i16> %v1, %v2196 ret <4 x i1> %cmp197 }198 199 define <16 x i1> @test_v16i8_ule(<16 x i8> %v1, <16 x i8> %v2) {200 %cmp = icmp ule <16 x i8> %v1, %v2201 ret <16 x i1> %cmp202 }203 204 define <8 x i1> @test_v8i8_ule(<8 x i8> %v1, <8 x i8> %v2) {205 %cmp = icmp ule <8 x i8> %v1, %v2206 ret <8 x i1> %cmp207 }208 209 define <2 x i1> @test_v2i64_sgt(<2 x i64> %v1, <2 x i64> %v2) {210 %cmp = icmp sgt <2 x i64> %v1, %v2211 ret <2 x i1> %cmp212 }213 214 define <4 x i1> @test_v4i32_sgt(<4 x i32> %v1, <4 x i32> %v2) {215 %cmp = icmp sgt <4 x i32> %v1, %v2216 ret <4 x i1> %cmp217 }218 219 define <2 x i1> @test_v2i32_sgt(<2 x i32> %v1, <2 x i32> %v2) {220 %cmp = icmp sgt <2 x i32> %v1, %v2221 ret <2 x i1> %cmp222 }223 224 define <2 x i1> @test_v2i16_sgt(<2 x i16> %v1, <2 x i16> %v2) {225 %cmp = icmp sgt <2 x i16> %v1, %v2226 ret <2 x i1> %cmp227 }228 229 define <8 x i1> @test_v8i16_sgt(<8 x i16> %v1, <8 x i16> %v2) {230 %cmp = icmp sgt <8 x i16> %v1, %v2231 ret <8 x i1> %cmp232 }233 234 define <4 x i1> @test_v4i16_sgt(<4 x i16> %v1, <4 x i16> %v2) {235 %cmp = icmp sgt <4 x i16> %v1, %v2236 ret <4 x i1> %cmp237 }238 239 define <16 x i1> @test_v16i8_sgt(<16 x i8> %v1, <16 x i8> %v2) {240 %cmp = icmp sgt <16 x i8> %v1, %v2241 ret <16 x i1> %cmp242 }243 244 define <8 x i1> @test_v8i8_sgt(<8 x i8> %v1, <8 x i8> %v2) {245 %cmp = icmp sgt <8 x i8> %v1, %v2246 ret <8 x i1> %cmp247 }248 249 define <2 x i1> @test_v2i64_sge(<2 x i64> %v1, <2 x i64> %v2) {250 %cmp = icmp sge <2 x i64> %v1, %v2251 ret <2 x i1> %cmp252 }253 254 define <4 x i1> @test_v4i32_sge(<4 x i32> %v1, <4 x i32> %v2) {255 %cmp = icmp sge <4 x i32> %v1, %v2256 ret <4 x i1> %cmp257 }258 259 define <2 x i1> @test_v2i32_sge(<2 x i32> %v1, <2 x i32> %v2) {260 %cmp = icmp sge <2 x i32> %v1, %v2261 ret <2 x i1> %cmp262 }263 264 define <2 x i1> @test_v2i16_sge(<2 x i16> %v1, <2 x i16> %v2) {265 %cmp = icmp sge <2 x i16> %v1, %v2266 ret <2 x i1> %cmp267 }268 269 define <8 x i1> @test_v8i16_sge(<8 x i16> %v1, <8 x i16> %v2) {270 %cmp = icmp sge <8 x i16> %v1, %v2271 ret <8 x i1> %cmp272 }273 274 define <4 x i1> @test_v4i16_sge(<4 x i16> %v1, <4 x i16> %v2) {275 %cmp = icmp sge <4 x i16> %v1, %v2276 ret <4 x i1> %cmp277 }278 279 define <16 x i1> @test_v16i8_sge(<16 x i8> %v1, <16 x i8> %v2) {280 %cmp = icmp sge <16 x i8> %v1, %v2281 ret <16 x i1> %cmp282 }283 284 define <8 x i1> @test_v8i8_sge(<8 x i8> %v1, <8 x i8> %v2) {285 %cmp = icmp sge <8 x i8> %v1, %v2286 ret <8 x i1> %cmp287 }288 289 define <2 x i1> @test_v2i64_slt(<2 x i64> %v1, <2 x i64> %v2) {290 %cmp = icmp slt <2 x i64> %v1, %v2291 ret <2 x i1> %cmp292 }293 294 define <4 x i1> @test_v4i32_slt(<4 x i32> %v1, <4 x i32> %v2) {295 %cmp = icmp slt <4 x i32> %v1, %v2296 ret <4 x i1> %cmp297 }298 299 define <2 x i1> @test_v2i32_slt(<2 x i32> %v1, <2 x i32> %v2) {300 %cmp = icmp slt <2 x i32> %v1, %v2301 ret <2 x i1> %cmp302 }303 304 define <2 x i1> @test_v2i16_slt(<2 x i16> %v1, <2 x i16> %v2) {305 %cmp = icmp slt <2 x i16> %v1, %v2306 ret <2 x i1> %cmp307 }308 309 define <8 x i1> @test_v8i16_slt(<8 x i16> %v1, <8 x i16> %v2) {310 %cmp = icmp slt <8 x i16> %v1, %v2311 ret <8 x i1> %cmp312 }313 314 define <4 x i1> @test_v4i16_slt(<4 x i16> %v1, <4 x i16> %v2) {315 %cmp = icmp slt <4 x i16> %v1, %v2316 ret <4 x i1> %cmp317 }318 319 define <16 x i1> @test_v16i8_slt(<16 x i8> %v1, <16 x i8> %v2) {320 %cmp = icmp slt <16 x i8> %v1, %v2321 ret <16 x i1> %cmp322 }323 324 define <8 x i1> @test_v8i8_slt(<8 x i8> %v1, <8 x i8> %v2) {325 %cmp = icmp slt <8 x i8> %v1, %v2326 ret <8 x i1> %cmp327 }328 329 define <2 x i1> @test_v2i64_sle(<2 x i64> %v1, <2 x i64> %v2) {330 %cmp = icmp sle <2 x i64> %v1, %v2331 ret <2 x i1> %cmp332 }333 334 define <4 x i1> @test_v4i32_sle(<4 x i32> %v1, <4 x i32> %v2) {335 %cmp = icmp sle <4 x i32> %v1, %v2336 ret <4 x i1> %cmp337 }338 339 define <2 x i1> @test_v2i32_sle(<2 x i32> %v1, <2 x i32> %v2) {340 %cmp = icmp sle <2 x i32> %v1, %v2341 ret <2 x i1> %cmp342 }343 344 define <2 x i1> @test_v2i16_sle(<2 x i16> %v1, <2 x i16> %v2) {345 %cmp = icmp sle <2 x i16> %v1, %v2346 ret <2 x i1> %cmp347 }348 349 define <8 x i1> @test_v8i16_sle(<8 x i16> %v1, <8 x i16> %v2) {350 %cmp = icmp sle <8 x i16> %v1, %v2351 ret <8 x i1> %cmp352 }353 354 define <4 x i1> @test_v4i16_sle(<4 x i16> %v1, <4 x i16> %v2) {355 %cmp = icmp sle <4 x i16> %v1, %v2356 ret <4 x i1> %cmp357 }358 359 define <16 x i1> @test_v16i8_sle(<16 x i8> %v1, <16 x i8> %v2) {360 %cmp = icmp sle <16 x i8> %v1, %v2361 ret <16 x i1> %cmp362 }363 364 define <8 x i1> @test_v8i8_sle(<8 x i8> %v1, <8 x i8> %v2) {365 %cmp = icmp sle <8 x i8> %v1, %v2366 ret <8 x i1> %cmp367 }368 369...370---371name: test_v2i64_eq372alignment: 4373legalized: true374regBankSelected: true375tracksRegLiveness: true376registers:377 - { id: 0, class: fpr }378 - { id: 1, class: fpr }379 - { id: 2, class: _ }380 - { id: 3, class: fpr }381 - { id: 4, class: fpr }382machineFunctionInfo: {}383body: |384 bb.1 (%ir-block.0):385 liveins: $q0, $q1386 387 ; CHECK-LABEL: name: test_v2i64_eq388 ; CHECK: liveins: $q0, $q1389 ; CHECK-NEXT: {{ $}}390 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0391 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1392 ; CHECK-NEXT: [[CMEQv2i64_:%[0-9]+]]:fpr128 = CMEQv2i64 [[COPY]], [[COPY1]]393 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMEQv2i64_]]394 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]395 ; CHECK-NEXT: RET_ReallyLR implicit $d0396 %0:fpr(<2 x s64>) = COPY $q0397 %1:fpr(<2 x s64>) = COPY $q1398 %4:fpr(<2 x s64>) = G_ICMP intpred(eq), %0(<2 x s64>), %1399 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)400 $d0 = COPY %3(<2 x s32>)401 RET_ReallyLR implicit $d0402 403...404---405name: test_v4i32_eq406alignment: 4407legalized: true408regBankSelected: true409tracksRegLiveness: true410registers:411 - { id: 0, class: fpr }412 - { id: 1, class: fpr }413 - { id: 2, class: _ }414 - { id: 3, class: fpr }415 - { id: 4, class: fpr }416machineFunctionInfo: {}417body: |418 bb.1 (%ir-block.0):419 liveins: $q0, $q1420 421 ; CHECK-LABEL: name: test_v4i32_eq422 ; CHECK: liveins: $q0, $q1423 ; CHECK-NEXT: {{ $}}424 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0425 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1426 ; CHECK-NEXT: [[CMEQv4i32_:%[0-9]+]]:fpr128 = CMEQv4i32 [[COPY]], [[COPY1]]427 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMEQv4i32_]]428 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]429 ; CHECK-NEXT: RET_ReallyLR implicit $d0430 %0:fpr(<4 x s32>) = COPY $q0431 %1:fpr(<4 x s32>) = COPY $q1432 %4:fpr(<4 x s32>) = G_ICMP intpred(eq), %0(<4 x s32>), %1433 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)434 $d0 = COPY %3(<4 x s16>)435 RET_ReallyLR implicit $d0436 437...438---439name: test_v2i32_eq440alignment: 4441legalized: true442regBankSelected: true443tracksRegLiveness: true444registers:445 - { id: 0, class: fpr }446 - { id: 1, class: fpr }447 - { id: 2, class: _ }448 - { id: 3, class: fpr }449 - { id: 4, class: fpr }450machineFunctionInfo: {}451body: |452 bb.1 (%ir-block.0):453 liveins: $d0, $d1454 455 ; CHECK-LABEL: name: test_v2i32_eq456 ; CHECK: liveins: $d0, $d1457 ; CHECK-NEXT: {{ $}}458 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0459 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1460 ; CHECK-NEXT: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[COPY]], [[COPY1]]461 ; CHECK-NEXT: $d0 = COPY [[CMEQv2i32_]]462 ; CHECK-NEXT: RET_ReallyLR implicit $d0463 %0:fpr(<2 x s32>) = COPY $d0464 %1:fpr(<2 x s32>) = COPY $d1465 %4:fpr(<2 x s32>) = G_ICMP intpred(eq), %0(<2 x s32>), %1466 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)467 $d0 = COPY %3(<2 x s32>)468 RET_ReallyLR implicit $d0469 470...471---472name: test_v2i16_eq473alignment: 4474legalized: true475regBankSelected: true476tracksRegLiveness: true477registers:478 - { id: 0, class: _ }479 - { id: 1, class: _ }480 - { id: 2, class: fpr }481 - { id: 3, class: fpr }482 - { id: 4, class: _ }483 - { id: 5, class: fpr }484 - { id: 6, class: _ }485 - { id: 7, class: fpr }486 - { id: 8, class: fpr }487 - { id: 9, class: fpr }488 - { id: 10, class: gpr }489 - { id: 11, class: fpr }490 - { id: 12, class: fpr }491 - { id: 13, class: gpr }492 - { id: 14, class: fpr }493 - { id: 15, class: fpr }494machineFunctionInfo: {}495body: |496 bb.1 (%ir-block.0):497 liveins: $d0, $d1498 499 ; CHECK-LABEL: name: test_v2i16_eq500 ; CHECK: liveins: $d0, $d1501 ; CHECK-NEXT: {{ $}}502 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0503 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1504 ; CHECK-NEXT: [[MOVID:%[0-9]+]]:fpr64 = MOVID 51505 ; CHECK-NEXT: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[MOVID]]506 ; CHECK-NEXT: [[MOVID1:%[0-9]+]]:fpr64 = MOVID 51507 ; CHECK-NEXT: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[MOVID1]]508 ; CHECK-NEXT: [[CMEQv2i32_:%[0-9]+]]:fpr64 = CMEQv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]509 ; CHECK-NEXT: $d0 = COPY [[CMEQv2i32_]]510 ; CHECK-NEXT: RET_ReallyLR implicit $d0511 %2:fpr(<2 x s32>) = COPY $d0512 %3:fpr(<2 x s32>) = COPY $d1513 %13:gpr(s32) = G_CONSTANT i32 65535514 %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)515 %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)516 %7:fpr(<2 x s32>) = G_AND %15, %14517 %10:gpr(s32) = G_CONSTANT i32 65535518 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)519 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)520 %8:fpr(<2 x s32>) = G_AND %12, %11521 %9:fpr(<2 x s32>) = G_ICMP intpred(eq), %7(<2 x s32>), %8522 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)523 $d0 = COPY %5(<2 x s32>)524 RET_ReallyLR implicit $d0525 526...527---528name: test_v8i16_eq529alignment: 4530legalized: true531regBankSelected: true532tracksRegLiveness: true533registers:534 - { id: 0, class: fpr }535 - { id: 1, class: fpr }536 - { id: 2, class: _ }537 - { id: 3, class: fpr }538 - { id: 4, class: fpr }539machineFunctionInfo: {}540body: |541 bb.1 (%ir-block.0):542 liveins: $q0, $q1543 544 ; CHECK-LABEL: name: test_v8i16_eq545 ; CHECK: liveins: $q0, $q1546 ; CHECK-NEXT: {{ $}}547 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0548 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1549 ; CHECK-NEXT: [[CMEQv8i16_:%[0-9]+]]:fpr128 = CMEQv8i16 [[COPY]], [[COPY1]]550 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMEQv8i16_]]551 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]552 ; CHECK-NEXT: RET_ReallyLR implicit $d0553 %0:fpr(<8 x s16>) = COPY $q0554 %1:fpr(<8 x s16>) = COPY $q1555 %4:fpr(<8 x s16>) = G_ICMP intpred(eq), %0(<8 x s16>), %1556 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)557 $d0 = COPY %3(<8 x s8>)558 RET_ReallyLR implicit $d0559 560...561---562name: test_v4i16_eq563alignment: 4564legalized: true565regBankSelected: true566tracksRegLiveness: true567registers:568 - { id: 0, class: fpr }569 - { id: 1, class: fpr }570 - { id: 2, class: _ }571 - { id: 3, class: fpr }572 - { id: 4, class: fpr }573machineFunctionInfo: {}574body: |575 bb.1 (%ir-block.0):576 liveins: $d0, $d1577 578 ; CHECK-LABEL: name: test_v4i16_eq579 ; CHECK: liveins: $d0, $d1580 ; CHECK-NEXT: {{ $}}581 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0582 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1583 ; CHECK-NEXT: [[CMEQv4i16_:%[0-9]+]]:fpr64 = CMEQv4i16 [[COPY]], [[COPY1]]584 ; CHECK-NEXT: $d0 = COPY [[CMEQv4i16_]]585 ; CHECK-NEXT: RET_ReallyLR implicit $d0586 %0:fpr(<4 x s16>) = COPY $d0587 %1:fpr(<4 x s16>) = COPY $d1588 %4:fpr(<4 x s16>) = G_ICMP intpred(eq), %0(<4 x s16>), %1589 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)590 $d0 = COPY %3(<4 x s16>)591 RET_ReallyLR implicit $d0592 593...594---595name: test_v16i8_eq596alignment: 4597legalized: true598regBankSelected: true599tracksRegLiveness: true600registers:601 - { id: 0, class: fpr }602 - { id: 1, class: fpr }603 - { id: 2, class: _ }604 - { id: 3, class: fpr }605 - { id: 4, class: fpr }606machineFunctionInfo: {}607body: |608 bb.1 (%ir-block.0):609 liveins: $q0, $q1610 611 ; CHECK-LABEL: name: test_v16i8_eq612 ; CHECK: liveins: $q0, $q1613 ; CHECK-NEXT: {{ $}}614 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0615 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1616 ; CHECK-NEXT: [[CMEQv16i8_:%[0-9]+]]:fpr128 = CMEQv16i8 [[COPY]], [[COPY1]]617 ; CHECK-NEXT: $q0 = COPY [[CMEQv16i8_]]618 ; CHECK-NEXT: RET_ReallyLR implicit $q0619 %0:fpr(<16 x s8>) = COPY $q0620 %1:fpr(<16 x s8>) = COPY $q1621 %4:fpr(<16 x s8>) = G_ICMP intpred(eq), %0(<16 x s8>), %1622 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)623 $q0 = COPY %3(<16 x s8>)624 RET_ReallyLR implicit $q0625 626...627---628name: test_v8i8_eq629alignment: 4630legalized: true631regBankSelected: true632tracksRegLiveness: true633registers:634 - { id: 0, class: fpr }635 - { id: 1, class: fpr }636 - { id: 2, class: _ }637 - { id: 3, class: fpr }638 - { id: 4, class: fpr }639machineFunctionInfo: {}640body: |641 bb.1 (%ir-block.0):642 liveins: $d0, $d1643 644 ; CHECK-LABEL: name: test_v8i8_eq645 ; CHECK: liveins: $d0, $d1646 ; CHECK-NEXT: {{ $}}647 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0648 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1649 ; CHECK-NEXT: [[CMEQv8i8_:%[0-9]+]]:fpr64 = CMEQv8i8 [[COPY]], [[COPY1]]650 ; CHECK-NEXT: $d0 = COPY [[CMEQv8i8_]]651 ; CHECK-NEXT: RET_ReallyLR implicit $d0652 %0:fpr(<8 x s8>) = COPY $d0653 %1:fpr(<8 x s8>) = COPY $d1654 %4:fpr(<8 x s8>) = G_ICMP intpred(eq), %0(<8 x s8>), %1655 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)656 $d0 = COPY %3(<8 x s8>)657 RET_ReallyLR implicit $d0658 659...660---661name: test_v2i64_ugt662alignment: 4663legalized: true664regBankSelected: true665tracksRegLiveness: true666registers:667 - { id: 0, class: fpr }668 - { id: 1, class: fpr }669 - { id: 2, class: _ }670 - { id: 3, class: fpr }671 - { id: 4, class: fpr }672machineFunctionInfo: {}673body: |674 bb.1 (%ir-block.0):675 liveins: $q0, $q1676 677 ; CHECK-LABEL: name: test_v2i64_ugt678 ; CHECK: liveins: $q0, $q1679 ; CHECK-NEXT: {{ $}}680 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0681 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1682 ; CHECK-NEXT: [[CMHIv2i64_:%[0-9]+]]:fpr128 = CMHIv2i64 [[COPY]], [[COPY1]]683 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHIv2i64_]]684 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]685 ; CHECK-NEXT: RET_ReallyLR implicit $d0686 %0:fpr(<2 x s64>) = COPY $q0687 %1:fpr(<2 x s64>) = COPY $q1688 %4:fpr(<2 x s64>) = G_ICMP intpred(ugt), %0(<2 x s64>), %1689 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)690 $d0 = COPY %3(<2 x s32>)691 RET_ReallyLR implicit $d0692 693...694---695name: test_v4i32_ugt696alignment: 4697legalized: true698regBankSelected: true699tracksRegLiveness: true700registers:701 - { id: 0, class: fpr }702 - { id: 1, class: fpr }703 - { id: 2, class: _ }704 - { id: 3, class: fpr }705 - { id: 4, class: fpr }706machineFunctionInfo: {}707body: |708 bb.1 (%ir-block.0):709 liveins: $q0, $q1710 711 ; CHECK-LABEL: name: test_v4i32_ugt712 ; CHECK: liveins: $q0, $q1713 ; CHECK-NEXT: {{ $}}714 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0715 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1716 ; CHECK-NEXT: [[CMHIv4i32_:%[0-9]+]]:fpr128 = CMHIv4i32 [[COPY]], [[COPY1]]717 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHIv4i32_]]718 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]719 ; CHECK-NEXT: RET_ReallyLR implicit $d0720 %0:fpr(<4 x s32>) = COPY $q0721 %1:fpr(<4 x s32>) = COPY $q1722 %4:fpr(<4 x s32>) = G_ICMP intpred(ugt), %0(<4 x s32>), %1723 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)724 $d0 = COPY %3(<4 x s16>)725 RET_ReallyLR implicit $d0726 727...728---729name: test_v2i32_ugt730alignment: 4731legalized: true732regBankSelected: true733tracksRegLiveness: true734registers:735 - { id: 0, class: fpr }736 - { id: 1, class: fpr }737 - { id: 2, class: _ }738 - { id: 3, class: fpr }739 - { id: 4, class: fpr }740machineFunctionInfo: {}741body: |742 bb.1 (%ir-block.0):743 liveins: $d0, $d1744 745 ; CHECK-LABEL: name: test_v2i32_ugt746 ; CHECK: liveins: $d0, $d1747 ; CHECK-NEXT: {{ $}}748 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0749 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1750 ; CHECK-NEXT: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[COPY]], [[COPY1]]751 ; CHECK-NEXT: $d0 = COPY [[CMHIv2i32_]]752 ; CHECK-NEXT: RET_ReallyLR implicit $d0753 %0:fpr(<2 x s32>) = COPY $d0754 %1:fpr(<2 x s32>) = COPY $d1755 %4:fpr(<2 x s32>) = G_ICMP intpred(ugt), %0(<2 x s32>), %1756 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)757 $d0 = COPY %3(<2 x s32>)758 RET_ReallyLR implicit $d0759 760...761---762name: test_v2i16_ugt763alignment: 4764legalized: true765regBankSelected: true766tracksRegLiveness: true767registers:768 - { id: 0, class: _ }769 - { id: 1, class: _ }770 - { id: 2, class: fpr }771 - { id: 3, class: fpr }772 - { id: 4, class: _ }773 - { id: 5, class: fpr }774 - { id: 6, class: _ }775 - { id: 7, class: fpr }776 - { id: 8, class: fpr }777 - { id: 9, class: fpr }778 - { id: 10, class: gpr }779 - { id: 11, class: fpr }780 - { id: 12, class: fpr }781 - { id: 13, class: gpr }782 - { id: 14, class: fpr }783 - { id: 15, class: fpr }784machineFunctionInfo: {}785body: |786 bb.1 (%ir-block.0):787 liveins: $d0, $d1788 789 ; CHECK-LABEL: name: test_v2i16_ugt790 ; CHECK: liveins: $d0, $d1791 ; CHECK-NEXT: {{ $}}792 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0793 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1794 ; CHECK-NEXT: [[MOVID:%[0-9]+]]:fpr64 = MOVID 51795 ; CHECK-NEXT: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[MOVID]]796 ; CHECK-NEXT: [[MOVID1:%[0-9]+]]:fpr64 = MOVID 51797 ; CHECK-NEXT: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[MOVID1]]798 ; CHECK-NEXT: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]799 ; CHECK-NEXT: $d0 = COPY [[CMHIv2i32_]]800 ; CHECK-NEXT: RET_ReallyLR implicit $d0801 %2:fpr(<2 x s32>) = COPY $d0802 %3:fpr(<2 x s32>) = COPY $d1803 %13:gpr(s32) = G_CONSTANT i32 65535804 %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)805 %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)806 %7:fpr(<2 x s32>) = G_AND %15, %14807 %10:gpr(s32) = G_CONSTANT i32 65535808 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)809 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)810 %8:fpr(<2 x s32>) = G_AND %12, %11811 %9:fpr(<2 x s32>) = G_ICMP intpred(ugt), %7(<2 x s32>), %8812 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)813 $d0 = COPY %5(<2 x s32>)814 RET_ReallyLR implicit $d0815 816...817---818name: test_v8i16_ugt819alignment: 4820legalized: true821regBankSelected: true822tracksRegLiveness: true823registers:824 - { id: 0, class: fpr }825 - { id: 1, class: fpr }826 - { id: 2, class: _ }827 - { id: 3, class: fpr }828 - { id: 4, class: fpr }829machineFunctionInfo: {}830body: |831 bb.1 (%ir-block.0):832 liveins: $q0, $q1833 834 ; CHECK-LABEL: name: test_v8i16_ugt835 ; CHECK: liveins: $q0, $q1836 ; CHECK-NEXT: {{ $}}837 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0838 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1839 ; CHECK-NEXT: [[CMHIv8i16_:%[0-9]+]]:fpr128 = CMHIv8i16 [[COPY]], [[COPY1]]840 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHIv8i16_]]841 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]842 ; CHECK-NEXT: RET_ReallyLR implicit $d0843 %0:fpr(<8 x s16>) = COPY $q0844 %1:fpr(<8 x s16>) = COPY $q1845 %4:fpr(<8 x s16>) = G_ICMP intpred(ugt), %0(<8 x s16>), %1846 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)847 $d0 = COPY %3(<8 x s8>)848 RET_ReallyLR implicit $d0849 850...851---852name: test_v4i16_ugt853alignment: 4854legalized: true855regBankSelected: true856tracksRegLiveness: true857registers:858 - { id: 0, class: fpr }859 - { id: 1, class: fpr }860 - { id: 2, class: _ }861 - { id: 3, class: fpr }862 - { id: 4, class: fpr }863machineFunctionInfo: {}864body: |865 bb.1 (%ir-block.0):866 liveins: $d0, $d1867 868 ; CHECK-LABEL: name: test_v4i16_ugt869 ; CHECK: liveins: $d0, $d1870 ; CHECK-NEXT: {{ $}}871 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0872 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1873 ; CHECK-NEXT: [[CMHIv4i16_:%[0-9]+]]:fpr64 = CMHIv4i16 [[COPY]], [[COPY1]]874 ; CHECK-NEXT: $d0 = COPY [[CMHIv4i16_]]875 ; CHECK-NEXT: RET_ReallyLR implicit $d0876 %0:fpr(<4 x s16>) = COPY $d0877 %1:fpr(<4 x s16>) = COPY $d1878 %4:fpr(<4 x s16>) = G_ICMP intpred(ugt), %0(<4 x s16>), %1879 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)880 $d0 = COPY %3(<4 x s16>)881 RET_ReallyLR implicit $d0882 883...884---885name: test_v16i8_ugt886alignment: 4887legalized: true888regBankSelected: true889tracksRegLiveness: true890registers:891 - { id: 0, class: fpr }892 - { id: 1, class: fpr }893 - { id: 2, class: _ }894 - { id: 3, class: fpr }895 - { id: 4, class: fpr }896machineFunctionInfo: {}897body: |898 bb.1 (%ir-block.0):899 liveins: $q0, $q1900 901 ; CHECK-LABEL: name: test_v16i8_ugt902 ; CHECK: liveins: $q0, $q1903 ; CHECK-NEXT: {{ $}}904 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0905 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1906 ; CHECK-NEXT: [[CMHIv16i8_:%[0-9]+]]:fpr128 = CMHIv16i8 [[COPY]], [[COPY1]]907 ; CHECK-NEXT: $q0 = COPY [[CMHIv16i8_]]908 ; CHECK-NEXT: RET_ReallyLR implicit $q0909 %0:fpr(<16 x s8>) = COPY $q0910 %1:fpr(<16 x s8>) = COPY $q1911 %4:fpr(<16 x s8>) = G_ICMP intpred(ugt), %0(<16 x s8>), %1912 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)913 $q0 = COPY %3(<16 x s8>)914 RET_ReallyLR implicit $q0915 916...917---918name: test_v8i8_ugt919alignment: 4920legalized: true921regBankSelected: true922tracksRegLiveness: true923registers:924 - { id: 0, class: fpr }925 - { id: 1, class: fpr }926 - { id: 2, class: _ }927 - { id: 3, class: fpr }928 - { id: 4, class: fpr }929machineFunctionInfo: {}930body: |931 bb.1 (%ir-block.0):932 liveins: $d0, $d1933 934 ; CHECK-LABEL: name: test_v8i8_ugt935 ; CHECK: liveins: $d0, $d1936 ; CHECK-NEXT: {{ $}}937 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d0938 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d1939 ; CHECK-NEXT: [[CMHIv8i8_:%[0-9]+]]:fpr64 = CMHIv8i8 [[COPY]], [[COPY1]]940 ; CHECK-NEXT: $d0 = COPY [[CMHIv8i8_]]941 ; CHECK-NEXT: RET_ReallyLR implicit $d0942 %0:fpr(<8 x s8>) = COPY $d0943 %1:fpr(<8 x s8>) = COPY $d1944 %4:fpr(<8 x s8>) = G_ICMP intpred(ugt), %0(<8 x s8>), %1945 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)946 $d0 = COPY %3(<8 x s8>)947 RET_ReallyLR implicit $d0948 949...950---951name: test_v2i64_uge952alignment: 4953legalized: true954regBankSelected: true955tracksRegLiveness: true956registers:957 - { id: 0, class: fpr }958 - { id: 1, class: fpr }959 - { id: 2, class: _ }960 - { id: 3, class: fpr }961 - { id: 4, class: fpr }962machineFunctionInfo: {}963body: |964 bb.1 (%ir-block.0):965 liveins: $q0, $q1966 967 ; CHECK-LABEL: name: test_v2i64_uge968 ; CHECK: liveins: $q0, $q1969 ; CHECK-NEXT: {{ $}}970 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q0971 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1972 ; CHECK-NEXT: [[CMHSv2i64_:%[0-9]+]]:fpr128 = CMHSv2i64 [[COPY]], [[COPY1]]973 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHSv2i64_]]974 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]975 ; CHECK-NEXT: RET_ReallyLR implicit $d0976 %0:fpr(<2 x s64>) = COPY $q0977 %1:fpr(<2 x s64>) = COPY $q1978 %4:fpr(<2 x s64>) = G_ICMP intpred(uge), %0(<2 x s64>), %1979 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)980 $d0 = COPY %3(<2 x s32>)981 RET_ReallyLR implicit $d0982 983...984---985name: test_v4i32_uge986alignment: 4987legalized: true988regBankSelected: true989tracksRegLiveness: true990registers:991 - { id: 0, class: fpr }992 - { id: 1, class: fpr }993 - { id: 2, class: _ }994 - { id: 3, class: fpr }995 - { id: 4, class: fpr }996machineFunctionInfo: {}997body: |998 bb.1 (%ir-block.0):999 liveins: $q0, $q11000 1001 ; CHECK-LABEL: name: test_v4i32_uge1002 ; CHECK: liveins: $q0, $q11003 ; CHECK-NEXT: {{ $}}1004 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01005 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11006 ; CHECK-NEXT: [[CMHSv4i32_:%[0-9]+]]:fpr128 = CMHSv4i32 [[COPY]], [[COPY1]]1007 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHSv4i32_]]1008 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]1009 ; CHECK-NEXT: RET_ReallyLR implicit $d01010 %0:fpr(<4 x s32>) = COPY $q01011 %1:fpr(<4 x s32>) = COPY $q11012 %4:fpr(<4 x s32>) = G_ICMP intpred(uge), %0(<4 x s32>), %11013 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)1014 $d0 = COPY %3(<4 x s16>)1015 RET_ReallyLR implicit $d01016 1017...1018---1019name: test_v2i32_uge1020alignment: 41021legalized: true1022regBankSelected: true1023tracksRegLiveness: true1024registers:1025 - { id: 0, class: fpr }1026 - { id: 1, class: fpr }1027 - { id: 2, class: _ }1028 - { id: 3, class: fpr }1029 - { id: 4, class: fpr }1030machineFunctionInfo: {}1031body: |1032 bb.1 (%ir-block.0):1033 liveins: $d0, $d11034 1035 ; CHECK-LABEL: name: test_v2i32_uge1036 ; CHECK: liveins: $d0, $d11037 ; CHECK-NEXT: {{ $}}1038 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01039 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11040 ; CHECK-NEXT: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[COPY]], [[COPY1]]1041 ; CHECK-NEXT: $d0 = COPY [[CMHSv2i32_]]1042 ; CHECK-NEXT: RET_ReallyLR implicit $d01043 %0:fpr(<2 x s32>) = COPY $d01044 %1:fpr(<2 x s32>) = COPY $d11045 %4:fpr(<2 x s32>) = G_ICMP intpred(uge), %0(<2 x s32>), %11046 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)1047 $d0 = COPY %3(<2 x s32>)1048 RET_ReallyLR implicit $d01049 1050...1051---1052name: test_v2i16_uge1053alignment: 41054legalized: true1055regBankSelected: true1056tracksRegLiveness: true1057registers:1058 - { id: 0, class: _ }1059 - { id: 1, class: _ }1060 - { id: 2, class: fpr }1061 - { id: 3, class: fpr }1062 - { id: 4, class: _ }1063 - { id: 5, class: fpr }1064 - { id: 6, class: _ }1065 - { id: 7, class: fpr }1066 - { id: 8, class: fpr }1067 - { id: 9, class: fpr }1068 - { id: 10, class: gpr }1069 - { id: 11, class: fpr }1070 - { id: 12, class: fpr }1071 - { id: 13, class: gpr }1072 - { id: 14, class: fpr }1073 - { id: 15, class: fpr }1074machineFunctionInfo: {}1075body: |1076 bb.1 (%ir-block.0):1077 liveins: $d0, $d11078 1079 ; CHECK-LABEL: name: test_v2i16_uge1080 ; CHECK: liveins: $d0, $d11081 ; CHECK-NEXT: {{ $}}1082 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01083 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11084 ; CHECK-NEXT: [[MOVID:%[0-9]+]]:fpr64 = MOVID 511085 ; CHECK-NEXT: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[MOVID]]1086 ; CHECK-NEXT: [[MOVID1:%[0-9]+]]:fpr64 = MOVID 511087 ; CHECK-NEXT: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[MOVID1]]1088 ; CHECK-NEXT: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[ANDv8i8_]], [[ANDv8i8_1]]1089 ; CHECK-NEXT: $d0 = COPY [[CMHSv2i32_]]1090 ; CHECK-NEXT: RET_ReallyLR implicit $d01091 %2:fpr(<2 x s32>) = COPY $d01092 %3:fpr(<2 x s32>) = COPY $d11093 %13:gpr(s32) = G_CONSTANT i32 655351094 %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)1095 %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)1096 %7:fpr(<2 x s32>) = G_AND %15, %141097 %10:gpr(s32) = G_CONSTANT i32 655351098 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)1099 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)1100 %8:fpr(<2 x s32>) = G_AND %12, %111101 %9:fpr(<2 x s32>) = G_ICMP intpred(uge), %7(<2 x s32>), %81102 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)1103 $d0 = COPY %5(<2 x s32>)1104 RET_ReallyLR implicit $d01105 1106...1107---1108name: test_v8i16_uge1109alignment: 41110legalized: true1111regBankSelected: true1112tracksRegLiveness: true1113registers:1114 - { id: 0, class: fpr }1115 - { id: 1, class: fpr }1116 - { id: 2, class: _ }1117 - { id: 3, class: fpr }1118 - { id: 4, class: fpr }1119machineFunctionInfo: {}1120body: |1121 bb.1 (%ir-block.0):1122 liveins: $q0, $q11123 1124 ; CHECK-LABEL: name: test_v8i16_uge1125 ; CHECK: liveins: $q0, $q11126 ; CHECK-NEXT: {{ $}}1127 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01128 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11129 ; CHECK-NEXT: [[CMHSv8i16_:%[0-9]+]]:fpr128 = CMHSv8i16 [[COPY]], [[COPY1]]1130 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHSv8i16_]]1131 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]1132 ; CHECK-NEXT: RET_ReallyLR implicit $d01133 %0:fpr(<8 x s16>) = COPY $q01134 %1:fpr(<8 x s16>) = COPY $q11135 %4:fpr(<8 x s16>) = G_ICMP intpred(uge), %0(<8 x s16>), %11136 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)1137 $d0 = COPY %3(<8 x s8>)1138 RET_ReallyLR implicit $d01139 1140...1141---1142name: test_v4i16_uge1143alignment: 41144legalized: true1145regBankSelected: true1146tracksRegLiveness: true1147registers:1148 - { id: 0, class: fpr }1149 - { id: 1, class: fpr }1150 - { id: 2, class: _ }1151 - { id: 3, class: fpr }1152 - { id: 4, class: fpr }1153machineFunctionInfo: {}1154body: |1155 bb.1 (%ir-block.0):1156 liveins: $d0, $d11157 1158 ; CHECK-LABEL: name: test_v4i16_uge1159 ; CHECK: liveins: $d0, $d11160 ; CHECK-NEXT: {{ $}}1161 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01162 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11163 ; CHECK-NEXT: [[CMHSv4i16_:%[0-9]+]]:fpr64 = CMHSv4i16 [[COPY]], [[COPY1]]1164 ; CHECK-NEXT: $d0 = COPY [[CMHSv4i16_]]1165 ; CHECK-NEXT: RET_ReallyLR implicit $d01166 %0:fpr(<4 x s16>) = COPY $d01167 %1:fpr(<4 x s16>) = COPY $d11168 %4:fpr(<4 x s16>) = G_ICMP intpred(uge), %0(<4 x s16>), %11169 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)1170 $d0 = COPY %3(<4 x s16>)1171 RET_ReallyLR implicit $d01172 1173...1174---1175name: test_v16i8_uge1176alignment: 41177legalized: true1178regBankSelected: true1179tracksRegLiveness: true1180registers:1181 - { id: 0, class: fpr }1182 - { id: 1, class: fpr }1183 - { id: 2, class: _ }1184 - { id: 3, class: fpr }1185 - { id: 4, class: fpr }1186machineFunctionInfo: {}1187body: |1188 bb.1 (%ir-block.0):1189 liveins: $q0, $q11190 1191 ; CHECK-LABEL: name: test_v16i8_uge1192 ; CHECK: liveins: $q0, $q11193 ; CHECK-NEXT: {{ $}}1194 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01195 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11196 ; CHECK-NEXT: [[CMHSv16i8_:%[0-9]+]]:fpr128 = CMHSv16i8 [[COPY]], [[COPY1]]1197 ; CHECK-NEXT: $q0 = COPY [[CMHSv16i8_]]1198 ; CHECK-NEXT: RET_ReallyLR implicit $q01199 %0:fpr(<16 x s8>) = COPY $q01200 %1:fpr(<16 x s8>) = COPY $q11201 %4:fpr(<16 x s8>) = G_ICMP intpred(uge), %0(<16 x s8>), %11202 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)1203 $q0 = COPY %3(<16 x s8>)1204 RET_ReallyLR implicit $q01205 1206...1207---1208name: test_v8i8_uge1209alignment: 41210legalized: true1211regBankSelected: true1212tracksRegLiveness: true1213registers:1214 - { id: 0, class: fpr }1215 - { id: 1, class: fpr }1216 - { id: 2, class: _ }1217 - { id: 3, class: fpr }1218 - { id: 4, class: fpr }1219machineFunctionInfo: {}1220body: |1221 bb.1 (%ir-block.0):1222 liveins: $d0, $d11223 1224 ; CHECK-LABEL: name: test_v8i8_uge1225 ; CHECK: liveins: $d0, $d11226 ; CHECK-NEXT: {{ $}}1227 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01228 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11229 ; CHECK-NEXT: [[CMHSv8i8_:%[0-9]+]]:fpr64 = CMHSv8i8 [[COPY]], [[COPY1]]1230 ; CHECK-NEXT: $d0 = COPY [[CMHSv8i8_]]1231 ; CHECK-NEXT: RET_ReallyLR implicit $d01232 %0:fpr(<8 x s8>) = COPY $d01233 %1:fpr(<8 x s8>) = COPY $d11234 %4:fpr(<8 x s8>) = G_ICMP intpred(uge), %0(<8 x s8>), %11235 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)1236 $d0 = COPY %3(<8 x s8>)1237 RET_ReallyLR implicit $d01238 1239...1240---1241name: test_v2i64_ult1242alignment: 41243legalized: true1244regBankSelected: true1245tracksRegLiveness: true1246registers:1247 - { id: 0, class: fpr }1248 - { id: 1, class: fpr }1249 - { id: 2, class: _ }1250 - { id: 3, class: fpr }1251 - { id: 4, class: fpr }1252machineFunctionInfo: {}1253body: |1254 bb.1 (%ir-block.0):1255 liveins: $q0, $q11256 1257 ; CHECK-LABEL: name: test_v2i64_ult1258 ; CHECK: liveins: $q0, $q11259 ; CHECK-NEXT: {{ $}}1260 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01261 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11262 ; CHECK-NEXT: [[CMHIv2i64_:%[0-9]+]]:fpr128 = CMHIv2i64 [[COPY1]], [[COPY]]1263 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHIv2i64_]]1264 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]1265 ; CHECK-NEXT: RET_ReallyLR implicit $d01266 %0:fpr(<2 x s64>) = COPY $q01267 %1:fpr(<2 x s64>) = COPY $q11268 %4:fpr(<2 x s64>) = G_ICMP intpred(ult), %0(<2 x s64>), %11269 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)1270 $d0 = COPY %3(<2 x s32>)1271 RET_ReallyLR implicit $d01272 1273...1274---1275name: test_v4i32_ult1276alignment: 41277legalized: true1278regBankSelected: true1279tracksRegLiveness: true1280registers:1281 - { id: 0, class: fpr }1282 - { id: 1, class: fpr }1283 - { id: 2, class: _ }1284 - { id: 3, class: fpr }1285 - { id: 4, class: fpr }1286machineFunctionInfo: {}1287body: |1288 bb.1 (%ir-block.0):1289 liveins: $q0, $q11290 1291 ; CHECK-LABEL: name: test_v4i32_ult1292 ; CHECK: liveins: $q0, $q11293 ; CHECK-NEXT: {{ $}}1294 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01295 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11296 ; CHECK-NEXT: [[CMHIv4i32_:%[0-9]+]]:fpr128 = CMHIv4i32 [[COPY1]], [[COPY]]1297 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHIv4i32_]]1298 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]1299 ; CHECK-NEXT: RET_ReallyLR implicit $d01300 %0:fpr(<4 x s32>) = COPY $q01301 %1:fpr(<4 x s32>) = COPY $q11302 %4:fpr(<4 x s32>) = G_ICMP intpred(ult), %0(<4 x s32>), %11303 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)1304 $d0 = COPY %3(<4 x s16>)1305 RET_ReallyLR implicit $d01306 1307...1308---1309name: test_v2i32_ult1310alignment: 41311legalized: true1312regBankSelected: true1313tracksRegLiveness: true1314registers:1315 - { id: 0, class: fpr }1316 - { id: 1, class: fpr }1317 - { id: 2, class: _ }1318 - { id: 3, class: fpr }1319 - { id: 4, class: fpr }1320machineFunctionInfo: {}1321body: |1322 bb.1 (%ir-block.0):1323 liveins: $d0, $d11324 1325 ; CHECK-LABEL: name: test_v2i32_ult1326 ; CHECK: liveins: $d0, $d11327 ; CHECK-NEXT: {{ $}}1328 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01329 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11330 ; CHECK-NEXT: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[COPY1]], [[COPY]]1331 ; CHECK-NEXT: $d0 = COPY [[CMHIv2i32_]]1332 ; CHECK-NEXT: RET_ReallyLR implicit $d01333 %0:fpr(<2 x s32>) = COPY $d01334 %1:fpr(<2 x s32>) = COPY $d11335 %4:fpr(<2 x s32>) = G_ICMP intpred(ult), %0(<2 x s32>), %11336 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)1337 $d0 = COPY %3(<2 x s32>)1338 RET_ReallyLR implicit $d01339 1340...1341---1342name: test_v2i16_ult1343alignment: 41344legalized: true1345regBankSelected: true1346tracksRegLiveness: true1347registers:1348 - { id: 0, class: _ }1349 - { id: 1, class: _ }1350 - { id: 2, class: fpr }1351 - { id: 3, class: fpr }1352 - { id: 4, class: _ }1353 - { id: 5, class: fpr }1354 - { id: 6, class: _ }1355 - { id: 7, class: fpr }1356 - { id: 8, class: fpr }1357 - { id: 9, class: fpr }1358 - { id: 10, class: gpr }1359 - { id: 11, class: fpr }1360 - { id: 12, class: fpr }1361 - { id: 13, class: gpr }1362 - { id: 14, class: fpr }1363 - { id: 15, class: fpr }1364machineFunctionInfo: {}1365body: |1366 bb.1 (%ir-block.0):1367 liveins: $d0, $d11368 1369 ; CHECK-LABEL: name: test_v2i16_ult1370 ; CHECK: liveins: $d0, $d11371 ; CHECK-NEXT: {{ $}}1372 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01373 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11374 ; CHECK-NEXT: [[MOVID:%[0-9]+]]:fpr64 = MOVID 511375 ; CHECK-NEXT: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[MOVID]]1376 ; CHECK-NEXT: [[MOVID1:%[0-9]+]]:fpr64 = MOVID 511377 ; CHECK-NEXT: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[MOVID1]]1378 ; CHECK-NEXT: [[CMHIv2i32_:%[0-9]+]]:fpr64 = CMHIv2i32 [[ANDv8i8_1]], [[ANDv8i8_]]1379 ; CHECK-NEXT: $d0 = COPY [[CMHIv2i32_]]1380 ; CHECK-NEXT: RET_ReallyLR implicit $d01381 %2:fpr(<2 x s32>) = COPY $d01382 %3:fpr(<2 x s32>) = COPY $d11383 %13:gpr(s32) = G_CONSTANT i32 655351384 %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)1385 %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)1386 %7:fpr(<2 x s32>) = G_AND %15, %141387 %10:gpr(s32) = G_CONSTANT i32 655351388 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)1389 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)1390 %8:fpr(<2 x s32>) = G_AND %12, %111391 %9:fpr(<2 x s32>) = G_ICMP intpred(ult), %7(<2 x s32>), %81392 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)1393 $d0 = COPY %5(<2 x s32>)1394 RET_ReallyLR implicit $d01395 1396...1397---1398name: test_v8i16_ult1399alignment: 41400legalized: true1401regBankSelected: true1402tracksRegLiveness: true1403registers:1404 - { id: 0, class: fpr }1405 - { id: 1, class: fpr }1406 - { id: 2, class: _ }1407 - { id: 3, class: fpr }1408 - { id: 4, class: fpr }1409machineFunctionInfo: {}1410body: |1411 bb.1 (%ir-block.0):1412 liveins: $q0, $q11413 1414 ; CHECK-LABEL: name: test_v8i16_ult1415 ; CHECK: liveins: $q0, $q11416 ; CHECK-NEXT: {{ $}}1417 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01418 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11419 ; CHECK-NEXT: [[CMHIv8i16_:%[0-9]+]]:fpr128 = CMHIv8i16 [[COPY1]], [[COPY]]1420 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHIv8i16_]]1421 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]1422 ; CHECK-NEXT: RET_ReallyLR implicit $d01423 %0:fpr(<8 x s16>) = COPY $q01424 %1:fpr(<8 x s16>) = COPY $q11425 %4:fpr(<8 x s16>) = G_ICMP intpred(ult), %0(<8 x s16>), %11426 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)1427 $d0 = COPY %3(<8 x s8>)1428 RET_ReallyLR implicit $d01429 1430...1431---1432name: test_v4i16_ult1433alignment: 41434legalized: true1435regBankSelected: true1436tracksRegLiveness: true1437registers:1438 - { id: 0, class: fpr }1439 - { id: 1, class: fpr }1440 - { id: 2, class: _ }1441 - { id: 3, class: fpr }1442 - { id: 4, class: fpr }1443machineFunctionInfo: {}1444body: |1445 bb.1 (%ir-block.0):1446 liveins: $d0, $d11447 1448 ; CHECK-LABEL: name: test_v4i16_ult1449 ; CHECK: liveins: $d0, $d11450 ; CHECK-NEXT: {{ $}}1451 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01452 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11453 ; CHECK-NEXT: [[CMHIv4i16_:%[0-9]+]]:fpr64 = CMHIv4i16 [[COPY1]], [[COPY]]1454 ; CHECK-NEXT: $d0 = COPY [[CMHIv4i16_]]1455 ; CHECK-NEXT: RET_ReallyLR implicit $d01456 %0:fpr(<4 x s16>) = COPY $d01457 %1:fpr(<4 x s16>) = COPY $d11458 %4:fpr(<4 x s16>) = G_ICMP intpred(ult), %0(<4 x s16>), %11459 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)1460 $d0 = COPY %3(<4 x s16>)1461 RET_ReallyLR implicit $d01462 1463...1464---1465name: test_v16i8_ult1466alignment: 41467legalized: true1468regBankSelected: true1469tracksRegLiveness: true1470registers:1471 - { id: 0, class: fpr }1472 - { id: 1, class: fpr }1473 - { id: 2, class: _ }1474 - { id: 3, class: fpr }1475 - { id: 4, class: fpr }1476machineFunctionInfo: {}1477body: |1478 bb.1 (%ir-block.0):1479 liveins: $q0, $q11480 1481 ; CHECK-LABEL: name: test_v16i8_ult1482 ; CHECK: liveins: $q0, $q11483 ; CHECK-NEXT: {{ $}}1484 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01485 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11486 ; CHECK-NEXT: [[CMHIv16i8_:%[0-9]+]]:fpr128 = CMHIv16i8 [[COPY1]], [[COPY]]1487 ; CHECK-NEXT: $q0 = COPY [[CMHIv16i8_]]1488 ; CHECK-NEXT: RET_ReallyLR implicit $q01489 %0:fpr(<16 x s8>) = COPY $q01490 %1:fpr(<16 x s8>) = COPY $q11491 %4:fpr(<16 x s8>) = G_ICMP intpred(ult), %0(<16 x s8>), %11492 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)1493 $q0 = COPY %3(<16 x s8>)1494 RET_ReallyLR implicit $q01495 1496...1497---1498name: test_v8i8_ult1499alignment: 41500legalized: true1501regBankSelected: true1502tracksRegLiveness: true1503registers:1504 - { id: 0, class: fpr }1505 - { id: 1, class: fpr }1506 - { id: 2, class: _ }1507 - { id: 3, class: fpr }1508 - { id: 4, class: fpr }1509machineFunctionInfo: {}1510body: |1511 bb.1 (%ir-block.0):1512 liveins: $d0, $d11513 1514 ; CHECK-LABEL: name: test_v8i8_ult1515 ; CHECK: liveins: $d0, $d11516 ; CHECK-NEXT: {{ $}}1517 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01518 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11519 ; CHECK-NEXT: [[CMHIv8i8_:%[0-9]+]]:fpr64 = CMHIv8i8 [[COPY1]], [[COPY]]1520 ; CHECK-NEXT: $d0 = COPY [[CMHIv8i8_]]1521 ; CHECK-NEXT: RET_ReallyLR implicit $d01522 %0:fpr(<8 x s8>) = COPY $d01523 %1:fpr(<8 x s8>) = COPY $d11524 %4:fpr(<8 x s8>) = G_ICMP intpred(ult), %0(<8 x s8>), %11525 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)1526 $d0 = COPY %3(<8 x s8>)1527 RET_ReallyLR implicit $d01528 1529...1530---1531name: test_v2i64_ule1532alignment: 41533legalized: true1534regBankSelected: true1535tracksRegLiveness: true1536registers:1537 - { id: 0, class: fpr }1538 - { id: 1, class: fpr }1539 - { id: 2, class: _ }1540 - { id: 3, class: fpr }1541 - { id: 4, class: fpr }1542machineFunctionInfo: {}1543body: |1544 bb.1 (%ir-block.0):1545 liveins: $q0, $q11546 1547 ; CHECK-LABEL: name: test_v2i64_ule1548 ; CHECK: liveins: $q0, $q11549 ; CHECK-NEXT: {{ $}}1550 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01551 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11552 ; CHECK-NEXT: [[CMHSv2i64_:%[0-9]+]]:fpr128 = CMHSv2i64 [[COPY1]], [[COPY]]1553 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMHSv2i64_]]1554 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]1555 ; CHECK-NEXT: RET_ReallyLR implicit $d01556 %0:fpr(<2 x s64>) = COPY $q01557 %1:fpr(<2 x s64>) = COPY $q11558 %4:fpr(<2 x s64>) = G_ICMP intpred(ule), %0(<2 x s64>), %11559 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)1560 $d0 = COPY %3(<2 x s32>)1561 RET_ReallyLR implicit $d01562 1563...1564---1565name: test_v4i32_ule1566alignment: 41567legalized: true1568regBankSelected: true1569tracksRegLiveness: true1570registers:1571 - { id: 0, class: fpr }1572 - { id: 1, class: fpr }1573 - { id: 2, class: _ }1574 - { id: 3, class: fpr }1575 - { id: 4, class: fpr }1576machineFunctionInfo: {}1577body: |1578 bb.1 (%ir-block.0):1579 liveins: $q0, $q11580 1581 ; CHECK-LABEL: name: test_v4i32_ule1582 ; CHECK: liveins: $q0, $q11583 ; CHECK-NEXT: {{ $}}1584 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01585 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11586 ; CHECK-NEXT: [[CMHSv4i32_:%[0-9]+]]:fpr128 = CMHSv4i32 [[COPY1]], [[COPY]]1587 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMHSv4i32_]]1588 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]1589 ; CHECK-NEXT: RET_ReallyLR implicit $d01590 %0:fpr(<4 x s32>) = COPY $q01591 %1:fpr(<4 x s32>) = COPY $q11592 %4:fpr(<4 x s32>) = G_ICMP intpred(ule), %0(<4 x s32>), %11593 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)1594 $d0 = COPY %3(<4 x s16>)1595 RET_ReallyLR implicit $d01596 1597...1598---1599name: test_v2i32_ule1600alignment: 41601legalized: true1602regBankSelected: true1603tracksRegLiveness: true1604registers:1605 - { id: 0, class: fpr }1606 - { id: 1, class: fpr }1607 - { id: 2, class: _ }1608 - { id: 3, class: fpr }1609 - { id: 4, class: fpr }1610machineFunctionInfo: {}1611body: |1612 bb.1 (%ir-block.0):1613 liveins: $d0, $d11614 1615 ; CHECK-LABEL: name: test_v2i32_ule1616 ; CHECK: liveins: $d0, $d11617 ; CHECK-NEXT: {{ $}}1618 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01619 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11620 ; CHECK-NEXT: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[COPY1]], [[COPY]]1621 ; CHECK-NEXT: $d0 = COPY [[CMHSv2i32_]]1622 ; CHECK-NEXT: RET_ReallyLR implicit $d01623 %0:fpr(<2 x s32>) = COPY $d01624 %1:fpr(<2 x s32>) = COPY $d11625 %4:fpr(<2 x s32>) = G_ICMP intpred(ule), %0(<2 x s32>), %11626 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)1627 $d0 = COPY %3(<2 x s32>)1628 RET_ReallyLR implicit $d01629 1630...1631---1632name: test_v2i16_ule1633alignment: 41634legalized: true1635regBankSelected: true1636tracksRegLiveness: true1637registers:1638 - { id: 0, class: _ }1639 - { id: 1, class: _ }1640 - { id: 2, class: fpr }1641 - { id: 3, class: fpr }1642 - { id: 4, class: _ }1643 - { id: 5, class: fpr }1644 - { id: 6, class: _ }1645 - { id: 7, class: fpr }1646 - { id: 8, class: fpr }1647 - { id: 9, class: fpr }1648 - { id: 10, class: gpr }1649 - { id: 11, class: fpr }1650 - { id: 12, class: fpr }1651 - { id: 13, class: gpr }1652 - { id: 14, class: fpr }1653 - { id: 15, class: fpr }1654machineFunctionInfo: {}1655body: |1656 bb.1 (%ir-block.0):1657 liveins: $d0, $d11658 1659 ; CHECK-LABEL: name: test_v2i16_ule1660 ; CHECK: liveins: $d0, $d11661 ; CHECK-NEXT: {{ $}}1662 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01663 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11664 ; CHECK-NEXT: [[MOVID:%[0-9]+]]:fpr64 = MOVID 511665 ; CHECK-NEXT: [[ANDv8i8_:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY]], [[MOVID]]1666 ; CHECK-NEXT: [[MOVID1:%[0-9]+]]:fpr64 = MOVID 511667 ; CHECK-NEXT: [[ANDv8i8_1:%[0-9]+]]:fpr64 = ANDv8i8 [[COPY1]], [[MOVID1]]1668 ; CHECK-NEXT: [[CMHSv2i32_:%[0-9]+]]:fpr64 = CMHSv2i32 [[ANDv8i8_1]], [[ANDv8i8_]]1669 ; CHECK-NEXT: $d0 = COPY [[CMHSv2i32_]]1670 ; CHECK-NEXT: RET_ReallyLR implicit $d01671 %2:fpr(<2 x s32>) = COPY $d01672 %3:fpr(<2 x s32>) = COPY $d11673 %13:gpr(s32) = G_CONSTANT i32 655351674 %14:fpr(<2 x s32>) = G_BUILD_VECTOR %13(s32), %13(s32)1675 %15:fpr(<2 x s32>) = COPY %2(<2 x s32>)1676 %7:fpr(<2 x s32>) = G_AND %15, %141677 %10:gpr(s32) = G_CONSTANT i32 655351678 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)1679 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)1680 %8:fpr(<2 x s32>) = G_AND %12, %111681 %9:fpr(<2 x s32>) = G_ICMP intpred(ule), %7(<2 x s32>), %81682 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)1683 $d0 = COPY %5(<2 x s32>)1684 RET_ReallyLR implicit $d01685 1686...1687---1688name: test_v8i16_ule1689alignment: 41690legalized: true1691regBankSelected: true1692tracksRegLiveness: true1693registers:1694 - { id: 0, class: fpr }1695 - { id: 1, class: fpr }1696 - { id: 2, class: _ }1697 - { id: 3, class: fpr }1698 - { id: 4, class: fpr }1699machineFunctionInfo: {}1700body: |1701 bb.1 (%ir-block.0):1702 liveins: $q0, $q11703 1704 ; CHECK-LABEL: name: test_v8i16_ule1705 ; CHECK: liveins: $q0, $q11706 ; CHECK-NEXT: {{ $}}1707 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01708 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11709 ; CHECK-NEXT: [[CMHSv8i16_:%[0-9]+]]:fpr128 = CMHSv8i16 [[COPY1]], [[COPY]]1710 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMHSv8i16_]]1711 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]1712 ; CHECK-NEXT: RET_ReallyLR implicit $d01713 %0:fpr(<8 x s16>) = COPY $q01714 %1:fpr(<8 x s16>) = COPY $q11715 %4:fpr(<8 x s16>) = G_ICMP intpred(ule), %0(<8 x s16>), %11716 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)1717 $d0 = COPY %3(<8 x s8>)1718 RET_ReallyLR implicit $d01719 1720...1721---1722name: test_v4i16_ule1723alignment: 41724legalized: true1725regBankSelected: true1726tracksRegLiveness: true1727registers:1728 - { id: 0, class: fpr }1729 - { id: 1, class: fpr }1730 - { id: 2, class: _ }1731 - { id: 3, class: fpr }1732 - { id: 4, class: fpr }1733machineFunctionInfo: {}1734body: |1735 bb.1 (%ir-block.0):1736 liveins: $d0, $d11737 1738 ; CHECK-LABEL: name: test_v4i16_ule1739 ; CHECK: liveins: $d0, $d11740 ; CHECK-NEXT: {{ $}}1741 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01742 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11743 ; CHECK-NEXT: [[CMHSv4i16_:%[0-9]+]]:fpr64 = CMHSv4i16 [[COPY1]], [[COPY]]1744 ; CHECK-NEXT: $d0 = COPY [[CMHSv4i16_]]1745 ; CHECK-NEXT: RET_ReallyLR implicit $d01746 %0:fpr(<4 x s16>) = COPY $d01747 %1:fpr(<4 x s16>) = COPY $d11748 %4:fpr(<4 x s16>) = G_ICMP intpred(ule), %0(<4 x s16>), %11749 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)1750 $d0 = COPY %3(<4 x s16>)1751 RET_ReallyLR implicit $d01752 1753...1754---1755name: test_v16i8_ule1756alignment: 41757legalized: true1758regBankSelected: true1759tracksRegLiveness: true1760registers:1761 - { id: 0, class: fpr }1762 - { id: 1, class: fpr }1763 - { id: 2, class: _ }1764 - { id: 3, class: fpr }1765 - { id: 4, class: fpr }1766machineFunctionInfo: {}1767body: |1768 bb.1 (%ir-block.0):1769 liveins: $q0, $q11770 1771 ; CHECK-LABEL: name: test_v16i8_ule1772 ; CHECK: liveins: $q0, $q11773 ; CHECK-NEXT: {{ $}}1774 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01775 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11776 ; CHECK-NEXT: [[CMHSv16i8_:%[0-9]+]]:fpr128 = CMHSv16i8 [[COPY1]], [[COPY]]1777 ; CHECK-NEXT: $q0 = COPY [[CMHSv16i8_]]1778 ; CHECK-NEXT: RET_ReallyLR implicit $q01779 %0:fpr(<16 x s8>) = COPY $q01780 %1:fpr(<16 x s8>) = COPY $q11781 %4:fpr(<16 x s8>) = G_ICMP intpred(ule), %0(<16 x s8>), %11782 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)1783 $q0 = COPY %3(<16 x s8>)1784 RET_ReallyLR implicit $q01785 1786...1787---1788name: test_v8i8_ule1789alignment: 41790legalized: true1791regBankSelected: true1792tracksRegLiveness: true1793registers:1794 - { id: 0, class: fpr }1795 - { id: 1, class: fpr }1796 - { id: 2, class: _ }1797 - { id: 3, class: fpr }1798 - { id: 4, class: fpr }1799machineFunctionInfo: {}1800body: |1801 bb.1 (%ir-block.0):1802 liveins: $d0, $d11803 1804 ; CHECK-LABEL: name: test_v8i8_ule1805 ; CHECK: liveins: $d0, $d11806 ; CHECK-NEXT: {{ $}}1807 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01808 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11809 ; CHECK-NEXT: [[CMHSv8i8_:%[0-9]+]]:fpr64 = CMHSv8i8 [[COPY1]], [[COPY]]1810 ; CHECK-NEXT: $d0 = COPY [[CMHSv8i8_]]1811 ; CHECK-NEXT: RET_ReallyLR implicit $d01812 %0:fpr(<8 x s8>) = COPY $d01813 %1:fpr(<8 x s8>) = COPY $d11814 %4:fpr(<8 x s8>) = G_ICMP intpred(ule), %0(<8 x s8>), %11815 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)1816 $d0 = COPY %3(<8 x s8>)1817 RET_ReallyLR implicit $d01818 1819...1820---1821name: test_v2i64_sgt1822alignment: 41823legalized: true1824regBankSelected: true1825tracksRegLiveness: true1826registers:1827 - { id: 0, class: fpr }1828 - { id: 1, class: fpr }1829 - { id: 2, class: _ }1830 - { id: 3, class: fpr }1831 - { id: 4, class: fpr }1832machineFunctionInfo: {}1833body: |1834 bb.1 (%ir-block.0):1835 liveins: $q0, $q11836 1837 ; CHECK-LABEL: name: test_v2i64_sgt1838 ; CHECK: liveins: $q0, $q11839 ; CHECK-NEXT: {{ $}}1840 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01841 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11842 ; CHECK-NEXT: [[CMGTv2i64_:%[0-9]+]]:fpr128 = CMGTv2i64 [[COPY]], [[COPY1]]1843 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGTv2i64_]]1844 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]1845 ; CHECK-NEXT: RET_ReallyLR implicit $d01846 %0:fpr(<2 x s64>) = COPY $q01847 %1:fpr(<2 x s64>) = COPY $q11848 %4:fpr(<2 x s64>) = G_ICMP intpred(sgt), %0(<2 x s64>), %11849 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)1850 $d0 = COPY %3(<2 x s32>)1851 RET_ReallyLR implicit $d01852 1853...1854---1855name: test_v4i32_sgt1856alignment: 41857legalized: true1858regBankSelected: true1859tracksRegLiveness: true1860registers:1861 - { id: 0, class: fpr }1862 - { id: 1, class: fpr }1863 - { id: 2, class: _ }1864 - { id: 3, class: fpr }1865 - { id: 4, class: fpr }1866machineFunctionInfo: {}1867body: |1868 bb.1 (%ir-block.0):1869 liveins: $q0, $q11870 1871 ; CHECK-LABEL: name: test_v4i32_sgt1872 ; CHECK: liveins: $q0, $q11873 ; CHECK-NEXT: {{ $}}1874 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q01875 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q11876 ; CHECK-NEXT: [[CMGTv4i32_:%[0-9]+]]:fpr128 = CMGTv4i32 [[COPY]], [[COPY1]]1877 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGTv4i32_]]1878 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]1879 ; CHECK-NEXT: RET_ReallyLR implicit $d01880 %0:fpr(<4 x s32>) = COPY $q01881 %1:fpr(<4 x s32>) = COPY $q11882 %4:fpr(<4 x s32>) = G_ICMP intpred(sgt), %0(<4 x s32>), %11883 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)1884 $d0 = COPY %3(<4 x s16>)1885 RET_ReallyLR implicit $d01886 1887...1888---1889name: test_v2i32_sgt1890alignment: 41891legalized: true1892regBankSelected: true1893tracksRegLiveness: true1894registers:1895 - { id: 0, class: fpr }1896 - { id: 1, class: fpr }1897 - { id: 2, class: _ }1898 - { id: 3, class: fpr }1899 - { id: 4, class: fpr }1900machineFunctionInfo: {}1901body: |1902 bb.1 (%ir-block.0):1903 liveins: $d0, $d11904 1905 ; CHECK-LABEL: name: test_v2i32_sgt1906 ; CHECK: liveins: $d0, $d11907 ; CHECK-NEXT: {{ $}}1908 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01909 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11910 ; CHECK-NEXT: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[COPY]], [[COPY1]]1911 ; CHECK-NEXT: $d0 = COPY [[CMGTv2i32_]]1912 ; CHECK-NEXT: RET_ReallyLR implicit $d01913 %0:fpr(<2 x s32>) = COPY $d01914 %1:fpr(<2 x s32>) = COPY $d11915 %4:fpr(<2 x s32>) = G_ICMP intpred(sgt), %0(<2 x s32>), %11916 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)1917 $d0 = COPY %3(<2 x s32>)1918 RET_ReallyLR implicit $d01919 1920...1921---1922name: test_v2i16_sgt1923alignment: 41924legalized: true1925regBankSelected: true1926tracksRegLiveness: true1927registers:1928 - { id: 0, class: _ }1929 - { id: 1, class: _ }1930 - { id: 2, class: fpr }1931 - { id: 3, class: fpr }1932 - { id: 4, class: _ }1933 - { id: 5, class: fpr }1934 - { id: 6, class: _ }1935 - { id: 7, class: fpr }1936 - { id: 8, class: fpr }1937 - { id: 9, class: fpr }1938 - { id: 10, class: gpr }1939 - { id: 11, class: fpr }1940 - { id: 12, class: fpr }1941 - { id: 13, class: fpr }1942 - { id: 14, class: gpr }1943 - { id: 15, class: fpr }1944 - { id: 16, class: fpr }1945 - { id: 17, class: fpr }1946machineFunctionInfo: {}1947body: |1948 bb.1 (%ir-block.0):1949 liveins: $d0, $d11950 1951 ; CHECK-LABEL: name: test_v2i16_sgt1952 ; CHECK: liveins: $d0, $d11953 ; CHECK-NEXT: {{ $}}1954 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d01955 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d11956 ; CHECK-NEXT: [[MOVIv2i32_:%[0-9]+]]:fpr64 = MOVIv2i32 16, 01957 ; CHECK-NEXT: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 161958 ; CHECK-NEXT: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_]]1959 ; CHECK-NEXT: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]1960 ; CHECK-NEXT: [[MOVIv2i32_1:%[0-9]+]]:fpr64 = MOVIv2i32 16, 01961 ; CHECK-NEXT: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 161962 ; CHECK-NEXT: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_1]]1963 ; CHECK-NEXT: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]1964 ; CHECK-NEXT: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[SSHLv2i32_]], [[SSHLv2i32_1]]1965 ; CHECK-NEXT: $d0 = COPY [[CMGTv2i32_]]1966 ; CHECK-NEXT: RET_ReallyLR implicit $d01967 %2:fpr(<2 x s32>) = COPY $d01968 %3:fpr(<2 x s32>) = COPY $d11969 %14:gpr(s32) = G_CONSTANT i32 161970 %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)1971 %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)1972 %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)1973 %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)1974 %10:gpr(s32) = G_CONSTANT i32 161975 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)1976 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)1977 %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)1978 %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)1979 %9:fpr(<2 x s32>) = G_ICMP intpred(sgt), %7(<2 x s32>), %81980 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)1981 $d0 = COPY %5(<2 x s32>)1982 RET_ReallyLR implicit $d01983 1984...1985---1986name: test_v8i16_sgt1987alignment: 41988legalized: true1989regBankSelected: true1990tracksRegLiveness: true1991registers:1992 - { id: 0, class: fpr }1993 - { id: 1, class: fpr }1994 - { id: 2, class: _ }1995 - { id: 3, class: fpr }1996 - { id: 4, class: fpr }1997machineFunctionInfo: {}1998body: |1999 bb.1 (%ir-block.0):2000 liveins: $q0, $q12001 2002 ; CHECK-LABEL: name: test_v8i16_sgt2003 ; CHECK: liveins: $q0, $q12004 ; CHECK-NEXT: {{ $}}2005 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02006 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12007 ; CHECK-NEXT: [[CMGTv8i16_:%[0-9]+]]:fpr128 = CMGTv8i16 [[COPY]], [[COPY1]]2008 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGTv8i16_]]2009 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]2010 ; CHECK-NEXT: RET_ReallyLR implicit $d02011 %0:fpr(<8 x s16>) = COPY $q02012 %1:fpr(<8 x s16>) = COPY $q12013 %4:fpr(<8 x s16>) = G_ICMP intpred(sgt), %0(<8 x s16>), %12014 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)2015 $d0 = COPY %3(<8 x s8>)2016 RET_ReallyLR implicit $d02017 2018...2019---2020name: test_v4i16_sgt2021alignment: 42022legalized: true2023regBankSelected: true2024tracksRegLiveness: true2025registers:2026 - { id: 0, class: fpr }2027 - { id: 1, class: fpr }2028 - { id: 2, class: _ }2029 - { id: 3, class: fpr }2030 - { id: 4, class: fpr }2031machineFunctionInfo: {}2032body: |2033 bb.1 (%ir-block.0):2034 liveins: $d0, $d12035 2036 ; CHECK-LABEL: name: test_v4i16_sgt2037 ; CHECK: liveins: $d0, $d12038 ; CHECK-NEXT: {{ $}}2039 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02040 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12041 ; CHECK-NEXT: [[CMGTv4i16_:%[0-9]+]]:fpr64 = CMGTv4i16 [[COPY]], [[COPY1]]2042 ; CHECK-NEXT: $d0 = COPY [[CMGTv4i16_]]2043 ; CHECK-NEXT: RET_ReallyLR implicit $d02044 %0:fpr(<4 x s16>) = COPY $d02045 %1:fpr(<4 x s16>) = COPY $d12046 %4:fpr(<4 x s16>) = G_ICMP intpred(sgt), %0(<4 x s16>), %12047 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)2048 $d0 = COPY %3(<4 x s16>)2049 RET_ReallyLR implicit $d02050 2051...2052---2053name: test_v16i8_sgt2054alignment: 42055legalized: true2056regBankSelected: true2057tracksRegLiveness: true2058registers:2059 - { id: 0, class: fpr }2060 - { id: 1, class: fpr }2061 - { id: 2, class: _ }2062 - { id: 3, class: fpr }2063 - { id: 4, class: fpr }2064machineFunctionInfo: {}2065body: |2066 bb.1 (%ir-block.0):2067 liveins: $q0, $q12068 2069 ; CHECK-LABEL: name: test_v16i8_sgt2070 ; CHECK: liveins: $q0, $q12071 ; CHECK-NEXT: {{ $}}2072 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02073 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12074 ; CHECK-NEXT: [[CMGTv16i8_:%[0-9]+]]:fpr128 = CMGTv16i8 [[COPY]], [[COPY1]]2075 ; CHECK-NEXT: $q0 = COPY [[CMGTv16i8_]]2076 ; CHECK-NEXT: RET_ReallyLR implicit $q02077 %0:fpr(<16 x s8>) = COPY $q02078 %1:fpr(<16 x s8>) = COPY $q12079 %4:fpr(<16 x s8>) = G_ICMP intpred(sgt), %0(<16 x s8>), %12080 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)2081 $q0 = COPY %3(<16 x s8>)2082 RET_ReallyLR implicit $q02083 2084...2085---2086name: test_v8i8_sgt2087alignment: 42088legalized: true2089regBankSelected: true2090tracksRegLiveness: true2091registers:2092 - { id: 0, class: fpr }2093 - { id: 1, class: fpr }2094 - { id: 2, class: _ }2095 - { id: 3, class: fpr }2096 - { id: 4, class: fpr }2097machineFunctionInfo: {}2098body: |2099 bb.1 (%ir-block.0):2100 liveins: $d0, $d12101 2102 ; CHECK-LABEL: name: test_v8i8_sgt2103 ; CHECK: liveins: $d0, $d12104 ; CHECK-NEXT: {{ $}}2105 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02106 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12107 ; CHECK-NEXT: [[CMGTv8i8_:%[0-9]+]]:fpr64 = CMGTv8i8 [[COPY]], [[COPY1]]2108 ; CHECK-NEXT: $d0 = COPY [[CMGTv8i8_]]2109 ; CHECK-NEXT: RET_ReallyLR implicit $d02110 %0:fpr(<8 x s8>) = COPY $d02111 %1:fpr(<8 x s8>) = COPY $d12112 %4:fpr(<8 x s8>) = G_ICMP intpred(sgt), %0(<8 x s8>), %12113 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)2114 $d0 = COPY %3(<8 x s8>)2115 RET_ReallyLR implicit $d02116 2117...2118---2119name: test_v2i64_sge2120alignment: 42121legalized: true2122regBankSelected: true2123tracksRegLiveness: true2124registers:2125 - { id: 0, class: fpr }2126 - { id: 1, class: fpr }2127 - { id: 2, class: _ }2128 - { id: 3, class: fpr }2129 - { id: 4, class: fpr }2130machineFunctionInfo: {}2131body: |2132 bb.1 (%ir-block.0):2133 liveins: $q0, $q12134 2135 ; CHECK-LABEL: name: test_v2i64_sge2136 ; CHECK: liveins: $q0, $q12137 ; CHECK-NEXT: {{ $}}2138 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02139 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12140 ; CHECK-NEXT: [[CMGEv2i64_:%[0-9]+]]:fpr128 = CMGEv2i64 [[COPY]], [[COPY1]]2141 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGEv2i64_]]2142 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]2143 ; CHECK-NEXT: RET_ReallyLR implicit $d02144 %0:fpr(<2 x s64>) = COPY $q02145 %1:fpr(<2 x s64>) = COPY $q12146 %4:fpr(<2 x s64>) = G_ICMP intpred(sge), %0(<2 x s64>), %12147 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)2148 $d0 = COPY %3(<2 x s32>)2149 RET_ReallyLR implicit $d02150 2151...2152---2153name: test_v4i32_sge2154alignment: 42155legalized: true2156regBankSelected: true2157tracksRegLiveness: true2158registers:2159 - { id: 0, class: fpr }2160 - { id: 1, class: fpr }2161 - { id: 2, class: _ }2162 - { id: 3, class: fpr }2163 - { id: 4, class: fpr }2164machineFunctionInfo: {}2165body: |2166 bb.1 (%ir-block.0):2167 liveins: $q0, $q12168 2169 ; CHECK-LABEL: name: test_v4i32_sge2170 ; CHECK: liveins: $q0, $q12171 ; CHECK-NEXT: {{ $}}2172 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02173 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12174 ; CHECK-NEXT: [[CMGEv4i32_:%[0-9]+]]:fpr128 = CMGEv4i32 [[COPY]], [[COPY1]]2175 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGEv4i32_]]2176 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]2177 ; CHECK-NEXT: RET_ReallyLR implicit $d02178 %0:fpr(<4 x s32>) = COPY $q02179 %1:fpr(<4 x s32>) = COPY $q12180 %4:fpr(<4 x s32>) = G_ICMP intpred(sge), %0(<4 x s32>), %12181 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)2182 $d0 = COPY %3(<4 x s16>)2183 RET_ReallyLR implicit $d02184 2185...2186---2187name: test_v2i32_sge2188alignment: 42189legalized: true2190regBankSelected: true2191tracksRegLiveness: true2192registers:2193 - { id: 0, class: fpr }2194 - { id: 1, class: fpr }2195 - { id: 2, class: _ }2196 - { id: 3, class: fpr }2197 - { id: 4, class: fpr }2198machineFunctionInfo: {}2199body: |2200 bb.1 (%ir-block.0):2201 liveins: $d0, $d12202 2203 ; CHECK-LABEL: name: test_v2i32_sge2204 ; CHECK: liveins: $d0, $d12205 ; CHECK-NEXT: {{ $}}2206 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02207 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12208 ; CHECK-NEXT: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[COPY]], [[COPY1]]2209 ; CHECK-NEXT: $d0 = COPY [[CMGEv2i32_]]2210 ; CHECK-NEXT: RET_ReallyLR implicit $d02211 %0:fpr(<2 x s32>) = COPY $d02212 %1:fpr(<2 x s32>) = COPY $d12213 %4:fpr(<2 x s32>) = G_ICMP intpred(sge), %0(<2 x s32>), %12214 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)2215 $d0 = COPY %3(<2 x s32>)2216 RET_ReallyLR implicit $d02217 2218...2219---2220name: test_v2i16_sge2221alignment: 42222legalized: true2223regBankSelected: true2224tracksRegLiveness: true2225registers:2226 - { id: 0, class: _ }2227 - { id: 1, class: _ }2228 - { id: 2, class: fpr }2229 - { id: 3, class: fpr }2230 - { id: 4, class: _ }2231 - { id: 5, class: fpr }2232 - { id: 6, class: _ }2233 - { id: 7, class: fpr }2234 - { id: 8, class: fpr }2235 - { id: 9, class: fpr }2236 - { id: 10, class: gpr }2237 - { id: 11, class: fpr }2238 - { id: 12, class: fpr }2239 - { id: 13, class: fpr }2240 - { id: 14, class: gpr }2241 - { id: 15, class: fpr }2242 - { id: 16, class: fpr }2243 - { id: 17, class: fpr }2244machineFunctionInfo: {}2245body: |2246 bb.1 (%ir-block.0):2247 liveins: $d0, $d12248 2249 ; CHECK-LABEL: name: test_v2i16_sge2250 ; CHECK: liveins: $d0, $d12251 ; CHECK-NEXT: {{ $}}2252 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02253 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12254 ; CHECK-NEXT: [[MOVIv2i32_:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02255 ; CHECK-NEXT: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 162256 ; CHECK-NEXT: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_]]2257 ; CHECK-NEXT: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]2258 ; CHECK-NEXT: [[MOVIv2i32_1:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02259 ; CHECK-NEXT: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 162260 ; CHECK-NEXT: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_1]]2261 ; CHECK-NEXT: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]2262 ; CHECK-NEXT: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[SSHLv2i32_]], [[SSHLv2i32_1]]2263 ; CHECK-NEXT: $d0 = COPY [[CMGEv2i32_]]2264 ; CHECK-NEXT: RET_ReallyLR implicit $d02265 %2:fpr(<2 x s32>) = COPY $d02266 %3:fpr(<2 x s32>) = COPY $d12267 %14:gpr(s32) = G_CONSTANT i32 162268 %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)2269 %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)2270 %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)2271 %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)2272 %10:gpr(s32) = G_CONSTANT i32 162273 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)2274 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)2275 %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)2276 %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)2277 %9:fpr(<2 x s32>) = G_ICMP intpred(sge), %7(<2 x s32>), %82278 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)2279 $d0 = COPY %5(<2 x s32>)2280 RET_ReallyLR implicit $d02281 2282...2283---2284name: test_v8i16_sge2285alignment: 42286legalized: true2287regBankSelected: true2288tracksRegLiveness: true2289registers:2290 - { id: 0, class: fpr }2291 - { id: 1, class: fpr }2292 - { id: 2, class: _ }2293 - { id: 3, class: fpr }2294 - { id: 4, class: fpr }2295machineFunctionInfo: {}2296body: |2297 bb.1 (%ir-block.0):2298 liveins: $q0, $q12299 2300 ; CHECK-LABEL: name: test_v8i16_sge2301 ; CHECK: liveins: $q0, $q12302 ; CHECK-NEXT: {{ $}}2303 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02304 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12305 ; CHECK-NEXT: [[CMGEv8i16_:%[0-9]+]]:fpr128 = CMGEv8i16 [[COPY]], [[COPY1]]2306 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGEv8i16_]]2307 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]2308 ; CHECK-NEXT: RET_ReallyLR implicit $d02309 %0:fpr(<8 x s16>) = COPY $q02310 %1:fpr(<8 x s16>) = COPY $q12311 %4:fpr(<8 x s16>) = G_ICMP intpred(sge), %0(<8 x s16>), %12312 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)2313 $d0 = COPY %3(<8 x s8>)2314 RET_ReallyLR implicit $d02315 2316...2317---2318name: test_v4i16_sge2319alignment: 42320legalized: true2321regBankSelected: true2322tracksRegLiveness: true2323registers:2324 - { id: 0, class: fpr }2325 - { id: 1, class: fpr }2326 - { id: 2, class: _ }2327 - { id: 3, class: fpr }2328 - { id: 4, class: fpr }2329machineFunctionInfo: {}2330body: |2331 bb.1 (%ir-block.0):2332 liveins: $d0, $d12333 2334 ; CHECK-LABEL: name: test_v4i16_sge2335 ; CHECK: liveins: $d0, $d12336 ; CHECK-NEXT: {{ $}}2337 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02338 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12339 ; CHECK-NEXT: [[CMGEv4i16_:%[0-9]+]]:fpr64 = CMGEv4i16 [[COPY]], [[COPY1]]2340 ; CHECK-NEXT: $d0 = COPY [[CMGEv4i16_]]2341 ; CHECK-NEXT: RET_ReallyLR implicit $d02342 %0:fpr(<4 x s16>) = COPY $d02343 %1:fpr(<4 x s16>) = COPY $d12344 %4:fpr(<4 x s16>) = G_ICMP intpred(sge), %0(<4 x s16>), %12345 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)2346 $d0 = COPY %3(<4 x s16>)2347 RET_ReallyLR implicit $d02348 2349...2350---2351name: test_v16i8_sge2352alignment: 42353legalized: true2354regBankSelected: true2355tracksRegLiveness: true2356registers:2357 - { id: 0, class: fpr }2358 - { id: 1, class: fpr }2359 - { id: 2, class: _ }2360 - { id: 3, class: fpr }2361 - { id: 4, class: fpr }2362machineFunctionInfo: {}2363body: |2364 bb.1 (%ir-block.0):2365 liveins: $q0, $q12366 2367 ; CHECK-LABEL: name: test_v16i8_sge2368 ; CHECK: liveins: $q0, $q12369 ; CHECK-NEXT: {{ $}}2370 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02371 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12372 ; CHECK-NEXT: [[CMGEv16i8_:%[0-9]+]]:fpr128 = CMGEv16i8 [[COPY]], [[COPY1]]2373 ; CHECK-NEXT: $q0 = COPY [[CMGEv16i8_]]2374 ; CHECK-NEXT: RET_ReallyLR implicit $q02375 %0:fpr(<16 x s8>) = COPY $q02376 %1:fpr(<16 x s8>) = COPY $q12377 %4:fpr(<16 x s8>) = G_ICMP intpred(sge), %0(<16 x s8>), %12378 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)2379 $q0 = COPY %3(<16 x s8>)2380 RET_ReallyLR implicit $q02381 2382...2383---2384name: test_v8i8_sge2385alignment: 42386legalized: true2387regBankSelected: true2388tracksRegLiveness: true2389registers:2390 - { id: 0, class: fpr }2391 - { id: 1, class: fpr }2392 - { id: 2, class: _ }2393 - { id: 3, class: fpr }2394 - { id: 4, class: fpr }2395machineFunctionInfo: {}2396body: |2397 bb.1 (%ir-block.0):2398 liveins: $d0, $d12399 2400 ; CHECK-LABEL: name: test_v8i8_sge2401 ; CHECK: liveins: $d0, $d12402 ; CHECK-NEXT: {{ $}}2403 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02404 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12405 ; CHECK-NEXT: [[CMGEv8i8_:%[0-9]+]]:fpr64 = CMGEv8i8 [[COPY]], [[COPY1]]2406 ; CHECK-NEXT: $d0 = COPY [[CMGEv8i8_]]2407 ; CHECK-NEXT: RET_ReallyLR implicit $d02408 %0:fpr(<8 x s8>) = COPY $d02409 %1:fpr(<8 x s8>) = COPY $d12410 %4:fpr(<8 x s8>) = G_ICMP intpred(sge), %0(<8 x s8>), %12411 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)2412 $d0 = COPY %3(<8 x s8>)2413 RET_ReallyLR implicit $d02414 2415...2416---2417name: test_v2i64_slt2418alignment: 42419legalized: true2420regBankSelected: true2421tracksRegLiveness: true2422registers:2423 - { id: 0, class: fpr }2424 - { id: 1, class: fpr }2425 - { id: 2, class: _ }2426 - { id: 3, class: fpr }2427 - { id: 4, class: fpr }2428machineFunctionInfo: {}2429body: |2430 bb.1 (%ir-block.0):2431 liveins: $q0, $q12432 2433 ; CHECK-LABEL: name: test_v2i64_slt2434 ; CHECK: liveins: $q0, $q12435 ; CHECK-NEXT: {{ $}}2436 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02437 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12438 ; CHECK-NEXT: [[CMGTv2i64_:%[0-9]+]]:fpr128 = CMGTv2i64 [[COPY1]], [[COPY]]2439 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGTv2i64_]]2440 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]2441 ; CHECK-NEXT: RET_ReallyLR implicit $d02442 %0:fpr(<2 x s64>) = COPY $q02443 %1:fpr(<2 x s64>) = COPY $q12444 %4:fpr(<2 x s64>) = G_ICMP intpred(slt), %0(<2 x s64>), %12445 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)2446 $d0 = COPY %3(<2 x s32>)2447 RET_ReallyLR implicit $d02448 2449...2450---2451name: test_v4i32_slt2452alignment: 42453legalized: true2454regBankSelected: true2455tracksRegLiveness: true2456registers:2457 - { id: 0, class: fpr }2458 - { id: 1, class: fpr }2459 - { id: 2, class: _ }2460 - { id: 3, class: fpr }2461 - { id: 4, class: fpr }2462machineFunctionInfo: {}2463body: |2464 bb.1 (%ir-block.0):2465 liveins: $q0, $q12466 2467 ; CHECK-LABEL: name: test_v4i32_slt2468 ; CHECK: liveins: $q0, $q12469 ; CHECK-NEXT: {{ $}}2470 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02471 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12472 ; CHECK-NEXT: [[CMGTv4i32_:%[0-9]+]]:fpr128 = CMGTv4i32 [[COPY1]], [[COPY]]2473 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGTv4i32_]]2474 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]2475 ; CHECK-NEXT: RET_ReallyLR implicit $d02476 %0:fpr(<4 x s32>) = COPY $q02477 %1:fpr(<4 x s32>) = COPY $q12478 %4:fpr(<4 x s32>) = G_ICMP intpred(slt), %0(<4 x s32>), %12479 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)2480 $d0 = COPY %3(<4 x s16>)2481 RET_ReallyLR implicit $d02482 2483...2484---2485name: test_v2i32_slt2486alignment: 42487legalized: true2488regBankSelected: true2489tracksRegLiveness: true2490registers:2491 - { id: 0, class: fpr }2492 - { id: 1, class: fpr }2493 - { id: 2, class: _ }2494 - { id: 3, class: fpr }2495 - { id: 4, class: fpr }2496machineFunctionInfo: {}2497body: |2498 bb.1 (%ir-block.0):2499 liveins: $d0, $d12500 2501 ; CHECK-LABEL: name: test_v2i32_slt2502 ; CHECK: liveins: $d0, $d12503 ; CHECK-NEXT: {{ $}}2504 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02505 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12506 ; CHECK-NEXT: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[COPY1]], [[COPY]]2507 ; CHECK-NEXT: $d0 = COPY [[CMGTv2i32_]]2508 ; CHECK-NEXT: RET_ReallyLR implicit $d02509 %0:fpr(<2 x s32>) = COPY $d02510 %1:fpr(<2 x s32>) = COPY $d12511 %4:fpr(<2 x s32>) = G_ICMP intpred(slt), %0(<2 x s32>), %12512 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)2513 $d0 = COPY %3(<2 x s32>)2514 RET_ReallyLR implicit $d02515 2516...2517---2518name: test_v2i16_slt2519alignment: 42520legalized: true2521regBankSelected: true2522tracksRegLiveness: true2523registers:2524 - { id: 0, class: _ }2525 - { id: 1, class: _ }2526 - { id: 2, class: fpr }2527 - { id: 3, class: fpr }2528 - { id: 4, class: _ }2529 - { id: 5, class: fpr }2530 - { id: 6, class: _ }2531 - { id: 7, class: fpr }2532 - { id: 8, class: fpr }2533 - { id: 9, class: fpr }2534 - { id: 10, class: gpr }2535 - { id: 11, class: fpr }2536 - { id: 12, class: fpr }2537 - { id: 13, class: fpr }2538 - { id: 14, class: gpr }2539 - { id: 15, class: fpr }2540 - { id: 16, class: fpr }2541 - { id: 17, class: fpr }2542machineFunctionInfo: {}2543body: |2544 bb.1 (%ir-block.0):2545 liveins: $d0, $d12546 2547 ; CHECK-LABEL: name: test_v2i16_slt2548 ; CHECK: liveins: $d0, $d12549 ; CHECK-NEXT: {{ $}}2550 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02551 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12552 ; CHECK-NEXT: [[MOVIv2i32_:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02553 ; CHECK-NEXT: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 162554 ; CHECK-NEXT: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_]]2555 ; CHECK-NEXT: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]2556 ; CHECK-NEXT: [[MOVIv2i32_1:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02557 ; CHECK-NEXT: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 162558 ; CHECK-NEXT: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_1]]2559 ; CHECK-NEXT: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]2560 ; CHECK-NEXT: [[CMGTv2i32_:%[0-9]+]]:fpr64 = CMGTv2i32 [[SSHLv2i32_1]], [[SSHLv2i32_]]2561 ; CHECK-NEXT: $d0 = COPY [[CMGTv2i32_]]2562 ; CHECK-NEXT: RET_ReallyLR implicit $d02563 %2:fpr(<2 x s32>) = COPY $d02564 %3:fpr(<2 x s32>) = COPY $d12565 %14:gpr(s32) = G_CONSTANT i32 162566 %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)2567 %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)2568 %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)2569 %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)2570 %10:gpr(s32) = G_CONSTANT i32 162571 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)2572 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)2573 %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)2574 %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)2575 %9:fpr(<2 x s32>) = G_ICMP intpred(slt), %7(<2 x s32>), %82576 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)2577 $d0 = COPY %5(<2 x s32>)2578 RET_ReallyLR implicit $d02579 2580...2581---2582name: test_v8i16_slt2583alignment: 42584legalized: true2585regBankSelected: true2586tracksRegLiveness: true2587registers:2588 - { id: 0, class: fpr }2589 - { id: 1, class: fpr }2590 - { id: 2, class: _ }2591 - { id: 3, class: fpr }2592 - { id: 4, class: fpr }2593machineFunctionInfo: {}2594body: |2595 bb.1 (%ir-block.0):2596 liveins: $q0, $q12597 2598 ; CHECK-LABEL: name: test_v8i16_slt2599 ; CHECK: liveins: $q0, $q12600 ; CHECK-NEXT: {{ $}}2601 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02602 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12603 ; CHECK-NEXT: [[CMGTv8i16_:%[0-9]+]]:fpr128 = CMGTv8i16 [[COPY1]], [[COPY]]2604 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGTv8i16_]]2605 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]2606 ; CHECK-NEXT: RET_ReallyLR implicit $d02607 %0:fpr(<8 x s16>) = COPY $q02608 %1:fpr(<8 x s16>) = COPY $q12609 %4:fpr(<8 x s16>) = G_ICMP intpred(slt), %0(<8 x s16>), %12610 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)2611 $d0 = COPY %3(<8 x s8>)2612 RET_ReallyLR implicit $d02613 2614...2615---2616name: test_v4i16_slt2617alignment: 42618legalized: true2619regBankSelected: true2620tracksRegLiveness: true2621registers:2622 - { id: 0, class: fpr }2623 - { id: 1, class: fpr }2624 - { id: 2, class: _ }2625 - { id: 3, class: fpr }2626 - { id: 4, class: fpr }2627machineFunctionInfo: {}2628body: |2629 bb.1 (%ir-block.0):2630 liveins: $d0, $d12631 2632 ; CHECK-LABEL: name: test_v4i16_slt2633 ; CHECK: liveins: $d0, $d12634 ; CHECK-NEXT: {{ $}}2635 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02636 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12637 ; CHECK-NEXT: [[CMGTv4i16_:%[0-9]+]]:fpr64 = CMGTv4i16 [[COPY1]], [[COPY]]2638 ; CHECK-NEXT: $d0 = COPY [[CMGTv4i16_]]2639 ; CHECK-NEXT: RET_ReallyLR implicit $d02640 %0:fpr(<4 x s16>) = COPY $d02641 %1:fpr(<4 x s16>) = COPY $d12642 %4:fpr(<4 x s16>) = G_ICMP intpred(slt), %0(<4 x s16>), %12643 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)2644 $d0 = COPY %3(<4 x s16>)2645 RET_ReallyLR implicit $d02646 2647...2648---2649name: test_v16i8_slt2650alignment: 42651legalized: true2652regBankSelected: true2653tracksRegLiveness: true2654registers:2655 - { id: 0, class: fpr }2656 - { id: 1, class: fpr }2657 - { id: 2, class: _ }2658 - { id: 3, class: fpr }2659 - { id: 4, class: fpr }2660machineFunctionInfo: {}2661body: |2662 bb.1 (%ir-block.0):2663 liveins: $q0, $q12664 2665 ; CHECK-LABEL: name: test_v16i8_slt2666 ; CHECK: liveins: $q0, $q12667 ; CHECK-NEXT: {{ $}}2668 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02669 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12670 ; CHECK-NEXT: [[CMGTv16i8_:%[0-9]+]]:fpr128 = CMGTv16i8 [[COPY1]], [[COPY]]2671 ; CHECK-NEXT: $q0 = COPY [[CMGTv16i8_]]2672 ; CHECK-NEXT: RET_ReallyLR implicit $q02673 %0:fpr(<16 x s8>) = COPY $q02674 %1:fpr(<16 x s8>) = COPY $q12675 %4:fpr(<16 x s8>) = G_ICMP intpred(slt), %0(<16 x s8>), %12676 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)2677 $q0 = COPY %3(<16 x s8>)2678 RET_ReallyLR implicit $q02679 2680...2681---2682name: test_v8i8_slt2683alignment: 42684legalized: true2685regBankSelected: true2686tracksRegLiveness: true2687registers:2688 - { id: 0, class: fpr }2689 - { id: 1, class: fpr }2690 - { id: 2, class: _ }2691 - { id: 3, class: fpr }2692 - { id: 4, class: fpr }2693machineFunctionInfo: {}2694body: |2695 bb.1 (%ir-block.0):2696 liveins: $d0, $d12697 2698 ; CHECK-LABEL: name: test_v8i8_slt2699 ; CHECK: liveins: $d0, $d12700 ; CHECK-NEXT: {{ $}}2701 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02702 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12703 ; CHECK-NEXT: [[CMGTv8i8_:%[0-9]+]]:fpr64 = CMGTv8i8 [[COPY1]], [[COPY]]2704 ; CHECK-NEXT: $d0 = COPY [[CMGTv8i8_]]2705 ; CHECK-NEXT: RET_ReallyLR implicit $d02706 %0:fpr(<8 x s8>) = COPY $d02707 %1:fpr(<8 x s8>) = COPY $d12708 %4:fpr(<8 x s8>) = G_ICMP intpred(slt), %0(<8 x s8>), %12709 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)2710 $d0 = COPY %3(<8 x s8>)2711 RET_ReallyLR implicit $d02712 2713...2714---2715name: test_v2i64_sle2716alignment: 42717legalized: true2718regBankSelected: true2719tracksRegLiveness: true2720registers:2721 - { id: 0, class: fpr }2722 - { id: 1, class: fpr }2723 - { id: 2, class: _ }2724 - { id: 3, class: fpr }2725 - { id: 4, class: fpr }2726machineFunctionInfo: {}2727body: |2728 bb.1 (%ir-block.0):2729 liveins: $q0, $q12730 2731 ; CHECK-LABEL: name: test_v2i64_sle2732 ; CHECK: liveins: $q0, $q12733 ; CHECK-NEXT: {{ $}}2734 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02735 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12736 ; CHECK-NEXT: [[CMGEv2i64_:%[0-9]+]]:fpr128 = CMGEv2i64 [[COPY1]], [[COPY]]2737 ; CHECK-NEXT: [[XTNv2i32_:%[0-9]+]]:fpr64 = XTNv2i32 [[CMGEv2i64_]]2738 ; CHECK-NEXT: $d0 = COPY [[XTNv2i32_]]2739 ; CHECK-NEXT: RET_ReallyLR implicit $d02740 %0:fpr(<2 x s64>) = COPY $q02741 %1:fpr(<2 x s64>) = COPY $q12742 %4:fpr(<2 x s64>) = G_ICMP intpred(sle), %0(<2 x s64>), %12743 %3:fpr(<2 x s32>) = G_TRUNC %4(<2 x s64>)2744 $d0 = COPY %3(<2 x s32>)2745 RET_ReallyLR implicit $d02746 2747...2748---2749name: test_v4i32_sle2750alignment: 42751legalized: true2752regBankSelected: true2753tracksRegLiveness: true2754registers:2755 - { id: 0, class: fpr }2756 - { id: 1, class: fpr }2757 - { id: 2, class: _ }2758 - { id: 3, class: fpr }2759 - { id: 4, class: fpr }2760machineFunctionInfo: {}2761body: |2762 bb.1 (%ir-block.0):2763 liveins: $q0, $q12764 2765 ; CHECK-LABEL: name: test_v4i32_sle2766 ; CHECK: liveins: $q0, $q12767 ; CHECK-NEXT: {{ $}}2768 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02769 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12770 ; CHECK-NEXT: [[CMGEv4i32_:%[0-9]+]]:fpr128 = CMGEv4i32 [[COPY1]], [[COPY]]2771 ; CHECK-NEXT: [[XTNv4i16_:%[0-9]+]]:fpr64 = XTNv4i16 [[CMGEv4i32_]]2772 ; CHECK-NEXT: $d0 = COPY [[XTNv4i16_]]2773 ; CHECK-NEXT: RET_ReallyLR implicit $d02774 %0:fpr(<4 x s32>) = COPY $q02775 %1:fpr(<4 x s32>) = COPY $q12776 %4:fpr(<4 x s32>) = G_ICMP intpred(sle), %0(<4 x s32>), %12777 %3:fpr(<4 x s16>) = G_TRUNC %4(<4 x s32>)2778 $d0 = COPY %3(<4 x s16>)2779 RET_ReallyLR implicit $d02780 2781...2782---2783name: test_v2i32_sle2784alignment: 42785legalized: true2786regBankSelected: true2787tracksRegLiveness: true2788registers:2789 - { id: 0, class: fpr }2790 - { id: 1, class: fpr }2791 - { id: 2, class: _ }2792 - { id: 3, class: fpr }2793 - { id: 4, class: fpr }2794machineFunctionInfo: {}2795body: |2796 bb.1 (%ir-block.0):2797 liveins: $d0, $d12798 2799 ; CHECK-LABEL: name: test_v2i32_sle2800 ; CHECK: liveins: $d0, $d12801 ; CHECK-NEXT: {{ $}}2802 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02803 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12804 ; CHECK-NEXT: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[COPY1]], [[COPY]]2805 ; CHECK-NEXT: $d0 = COPY [[CMGEv2i32_]]2806 ; CHECK-NEXT: RET_ReallyLR implicit $d02807 %0:fpr(<2 x s32>) = COPY $d02808 %1:fpr(<2 x s32>) = COPY $d12809 %4:fpr(<2 x s32>) = G_ICMP intpred(sle), %0(<2 x s32>), %12810 %3:fpr(<2 x s32>) = COPY %4(<2 x s32>)2811 $d0 = COPY %3(<2 x s32>)2812 RET_ReallyLR implicit $d02813 2814...2815---2816name: test_v2i16_sle2817alignment: 42818legalized: true2819regBankSelected: true2820tracksRegLiveness: true2821registers:2822 - { id: 0, class: _ }2823 - { id: 1, class: _ }2824 - { id: 2, class: fpr }2825 - { id: 3, class: fpr }2826 - { id: 4, class: _ }2827 - { id: 5, class: fpr }2828 - { id: 6, class: _ }2829 - { id: 7, class: fpr }2830 - { id: 8, class: fpr }2831 - { id: 9, class: fpr }2832 - { id: 10, class: gpr }2833 - { id: 11, class: fpr }2834 - { id: 12, class: fpr }2835 - { id: 13, class: fpr }2836 - { id: 14, class: gpr }2837 - { id: 15, class: fpr }2838 - { id: 16, class: fpr }2839 - { id: 17, class: fpr }2840machineFunctionInfo: {}2841body: |2842 bb.1 (%ir-block.0):2843 liveins: $d0, $d12844 2845 ; CHECK-LABEL: name: test_v2i16_sle2846 ; CHECK: liveins: $d0, $d12847 ; CHECK-NEXT: {{ $}}2848 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02849 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12850 ; CHECK-NEXT: [[MOVIv2i32_:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02851 ; CHECK-NEXT: [[SHLv2i32_shift:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY]], 162852 ; CHECK-NEXT: [[NEGv2i32_:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_]]2853 ; CHECK-NEXT: [[SSHLv2i32_:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift]], [[NEGv2i32_]]2854 ; CHECK-NEXT: [[MOVIv2i32_1:%[0-9]+]]:fpr64 = MOVIv2i32 16, 02855 ; CHECK-NEXT: [[SHLv2i32_shift1:%[0-9]+]]:fpr64 = SHLv2i32_shift [[COPY1]], 162856 ; CHECK-NEXT: [[NEGv2i32_1:%[0-9]+]]:fpr64 = NEGv2i32 [[MOVIv2i32_1]]2857 ; CHECK-NEXT: [[SSHLv2i32_1:%[0-9]+]]:fpr64 = SSHLv2i32 [[SHLv2i32_shift1]], [[NEGv2i32_1]]2858 ; CHECK-NEXT: [[CMGEv2i32_:%[0-9]+]]:fpr64 = CMGEv2i32 [[SSHLv2i32_1]], [[SSHLv2i32_]]2859 ; CHECK-NEXT: $d0 = COPY [[CMGEv2i32_]]2860 ; CHECK-NEXT: RET_ReallyLR implicit $d02861 %2:fpr(<2 x s32>) = COPY $d02862 %3:fpr(<2 x s32>) = COPY $d12863 %14:gpr(s32) = G_CONSTANT i32 162864 %15:fpr(<2 x s32>) = G_BUILD_VECTOR %14(s32), %14(s32)2865 %16:fpr(<2 x s32>) = COPY %2(<2 x s32>)2866 %17:fpr(<2 x s32>) = G_SHL %16, %15(<2 x s32>)2867 %7:fpr(<2 x s32>) = G_ASHR %17, %15(<2 x s32>)2868 %10:gpr(s32) = G_CONSTANT i32 162869 %11:fpr(<2 x s32>) = G_BUILD_VECTOR %10(s32), %10(s32)2870 %12:fpr(<2 x s32>) = COPY %3(<2 x s32>)2871 %13:fpr(<2 x s32>) = G_SHL %12, %11(<2 x s32>)2872 %8:fpr(<2 x s32>) = G_ASHR %13, %11(<2 x s32>)2873 %9:fpr(<2 x s32>) = G_ICMP intpred(sle), %7(<2 x s32>), %82874 %5:fpr(<2 x s32>) = COPY %9(<2 x s32>)2875 $d0 = COPY %5(<2 x s32>)2876 RET_ReallyLR implicit $d02877 2878...2879---2880name: test_v8i16_sle2881alignment: 42882legalized: true2883regBankSelected: true2884tracksRegLiveness: true2885registers:2886 - { id: 0, class: fpr }2887 - { id: 1, class: fpr }2888 - { id: 2, class: _ }2889 - { id: 3, class: fpr }2890 - { id: 4, class: fpr }2891machineFunctionInfo: {}2892body: |2893 bb.1 (%ir-block.0):2894 liveins: $q0, $q12895 2896 ; CHECK-LABEL: name: test_v8i16_sle2897 ; CHECK: liveins: $q0, $q12898 ; CHECK-NEXT: {{ $}}2899 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02900 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12901 ; CHECK-NEXT: [[CMGEv8i16_:%[0-9]+]]:fpr128 = CMGEv8i16 [[COPY1]], [[COPY]]2902 ; CHECK-NEXT: [[XTNv8i8_:%[0-9]+]]:fpr64 = XTNv8i8 [[CMGEv8i16_]]2903 ; CHECK-NEXT: $d0 = COPY [[XTNv8i8_]]2904 ; CHECK-NEXT: RET_ReallyLR implicit $d02905 %0:fpr(<8 x s16>) = COPY $q02906 %1:fpr(<8 x s16>) = COPY $q12907 %4:fpr(<8 x s16>) = G_ICMP intpred(sle), %0(<8 x s16>), %12908 %3:fpr(<8 x s8>) = G_TRUNC %4(<8 x s16>)2909 $d0 = COPY %3(<8 x s8>)2910 RET_ReallyLR implicit $d02911 2912...2913---2914name: test_v4i16_sle2915alignment: 42916legalized: true2917regBankSelected: true2918tracksRegLiveness: true2919registers:2920 - { id: 0, class: fpr }2921 - { id: 1, class: fpr }2922 - { id: 2, class: _ }2923 - { id: 3, class: fpr }2924 - { id: 4, class: fpr }2925machineFunctionInfo: {}2926body: |2927 bb.1 (%ir-block.0):2928 liveins: $d0, $d12929 2930 ; CHECK-LABEL: name: test_v4i16_sle2931 ; CHECK: liveins: $d0, $d12932 ; CHECK-NEXT: {{ $}}2933 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d02934 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d12935 ; CHECK-NEXT: [[CMGEv4i16_:%[0-9]+]]:fpr64 = CMGEv4i16 [[COPY1]], [[COPY]]2936 ; CHECK-NEXT: $d0 = COPY [[CMGEv4i16_]]2937 ; CHECK-NEXT: RET_ReallyLR implicit $d02938 %0:fpr(<4 x s16>) = COPY $d02939 %1:fpr(<4 x s16>) = COPY $d12940 %4:fpr(<4 x s16>) = G_ICMP intpred(sle), %0(<4 x s16>), %12941 %3:fpr(<4 x s16>) = COPY %4(<4 x s16>)2942 $d0 = COPY %3(<4 x s16>)2943 RET_ReallyLR implicit $d02944 2945...2946---2947name: test_v16i8_sle2948alignment: 42949legalized: true2950regBankSelected: true2951tracksRegLiveness: true2952registers:2953 - { id: 0, class: fpr }2954 - { id: 1, class: fpr }2955 - { id: 2, class: _ }2956 - { id: 3, class: fpr }2957 - { id: 4, class: fpr }2958machineFunctionInfo: {}2959body: |2960 bb.1 (%ir-block.0):2961 liveins: $q0, $q12962 2963 ; CHECK-LABEL: name: test_v16i8_sle2964 ; CHECK: liveins: $q0, $q12965 ; CHECK-NEXT: {{ $}}2966 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr128 = COPY $q02967 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr128 = COPY $q12968 ; CHECK-NEXT: [[CMGEv16i8_:%[0-9]+]]:fpr128 = CMGEv16i8 [[COPY1]], [[COPY]]2969 ; CHECK-NEXT: $q0 = COPY [[CMGEv16i8_]]2970 ; CHECK-NEXT: RET_ReallyLR implicit $q02971 %0:fpr(<16 x s8>) = COPY $q02972 %1:fpr(<16 x s8>) = COPY $q12973 %4:fpr(<16 x s8>) = G_ICMP intpred(sle), %0(<16 x s8>), %12974 %3:fpr(<16 x s8>) = COPY %4(<16 x s8>)2975 $q0 = COPY %3(<16 x s8>)2976 RET_ReallyLR implicit $q02977 2978...2979---2980name: test_v8i8_sle2981alignment: 42982legalized: true2983regBankSelected: true2984tracksRegLiveness: true2985registers:2986 - { id: 0, class: fpr }2987 - { id: 1, class: fpr }2988 - { id: 2, class: _ }2989 - { id: 3, class: fpr }2990 - { id: 4, class: fpr }2991machineFunctionInfo: {}2992body: |2993 bb.1 (%ir-block.0):2994 liveins: $d0, $d12995 2996 ; CHECK-LABEL: name: test_v8i8_sle2997 ; CHECK: liveins: $d0, $d12998 ; CHECK-NEXT: {{ $}}2999 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $d03000 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $d13001 ; CHECK-NEXT: [[CMGEv8i8_:%[0-9]+]]:fpr64 = CMGEv8i8 [[COPY1]], [[COPY]]3002 ; CHECK-NEXT: $d0 = COPY [[CMGEv8i8_]]3003 ; CHECK-NEXT: RET_ReallyLR implicit $d03004 %0:fpr(<8 x s8>) = COPY $d03005 %1:fpr(<8 x s8>) = COPY $d13006 %4:fpr(<8 x s8>) = G_ICMP intpred(sle), %0(<8 x s8>), %13007 %3:fpr(<8 x s8>) = COPY %4(<8 x s8>)3008 $d0 = COPY %3(<8 x s8>)3009 RET_ReallyLR implicit $d03010 3011...3012