brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.1 KiB · 199da9b Raw
603 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -debugify-and-strip-all-safe -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner --aarch64prelegalizercombiner-only-enable-rule="icmp_to_true_false_known_bits" -global-isel -verify-machineinstrs %s -o - | FileCheck %s3# REQUIRES: asserts4 5--- |6  define i1 @eq_true(ptr %ptr) { unreachable }7  define i1 @ne_true(ptr %ptr) { unreachable }8  define i1 @sge_true(ptr %ptr) { unreachable }9  define i1 @sgt_true(ptr %ptr) { unreachable }10  define i1 @sle_true(ptr %ptr) { unreachable }11  define i1 @slt_true(ptr %ptr) { unreachable }12  define i1 @uge_true(ptr %ptr) { unreachable }13  define i1 @ugt_true(ptr %ptr) { unreachable }14  define i1 @ule_true(ptr %ptr) { unreachable }15  define i1 @ult_true(ptr %ptr) { unreachable }16 17  define i1 @eq_false(ptr %ptr) { unreachable }18  define i1 @ne_false(ptr %ptr) { unreachable }19  define i1 @sge_false(ptr %ptr) { unreachable }20  define i1 @sgt_false(ptr %ptr) { unreachable }21  define i1 @sle_false(ptr %ptr) { unreachable }22  define i1 @slt_false(ptr %ptr) { unreachable }23  define i1 @uge_false(ptr %ptr) { unreachable }24  define i1 @ugt_false(ptr %ptr) { unreachable }25  define i1 @ule_false(ptr %ptr) { unreachable }26  define i1 @ult_false(ptr %ptr) { unreachable }27 28  define i1 @eq_unknown(ptr %ptr) { unreachable }29  define i1 @ne_unknown(ptr %ptr) { unreachable }30 31  define i1 @vector_true(ptr %ptr) { unreachable }32  define i1 @vector_false(ptr %ptr) { unreachable }33 34  !0 = !{i32 1, i32 2}35  !1 = !{i32 1, i32 3}36 37...38---39name:            eq_true40tracksRegLiveness: true41body:             |42  bb.0:43    liveins: $x044 45    ; CHECK-LABEL: name: eq_true46    ; CHECK: liveins: $x047    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true49    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)50    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)51    ; CHECK-NEXT: RET_ReallyLR implicit $w052    %ptr:_(p0) = COPY $x053    %cst:_(s32) = G_CONSTANT i32 154    %cmp:_(s1) = G_ICMP intpred(eq), %cst(s32), %cst55    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)56    $w0 = COPY %cmp_ext(s32)57    RET_ReallyLR implicit $w058 59...60---61name:            ne_true62tracksRegLiveness: true63body:             |64  bb.0:65    liveins: $x066 67    ; CHECK-LABEL: name: ne_true68    ; CHECK: liveins: $x069    ; CHECK-NEXT: {{  $}}70    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true71    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)72    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)73    ; CHECK-NEXT: RET_ReallyLR implicit $w074    %ptr:_(p0) = COPY $x075    %cst_1:_(s32) = G_CONSTANT i32 176    %cst_2:_(s32) = G_CONSTANT i32 277    %cmp:_(s1) = G_ICMP intpred(ne), %cst_1(s32), %cst_278    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)79    $w0 = COPY %cmp_ext(s32)80    RET_ReallyLR implicit $w081 82...83---84name:            sge_true85tracksRegLiveness: true86body:             |87  bb.0:88    liveins: $x089 90    ; CHECK-LABEL: name: sge_true91    ; CHECK: liveins: $x092    ; CHECK-NEXT: {{  $}}93    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true94    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)95    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)96    ; CHECK-NEXT: RET_ReallyLR implicit $w097    %ptr:_(p0) = COPY $x098    %cst:_(s32) = G_CONSTANT i32 299    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)100    %cmp:_(s1) = G_ICMP intpred(sge), %cst, %load_eq_1(s32)101    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)102    $w0 = COPY %cmp_ext(s32)103    RET_ReallyLR implicit $w0104 105...106---107name:            sgt_true108tracksRegLiveness: true109body:             |110  bb.0:111    liveins: $x0112 113    ; CHECK-LABEL: name: sgt_true114    ; CHECK: liveins: $x0115    ; CHECK-NEXT: {{  $}}116    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true117    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)118    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)119    ; CHECK-NEXT: RET_ReallyLR implicit $w0120    %ptr:_(p0) = COPY $x0121    %cst:_(s32) = G_CONSTANT i32 3122    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)123    %cmp:_(s1) = G_ICMP intpred(sgt), %cst, %load_eq_1(s32)124    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)125    $w0 = COPY %cmp_ext(s32)126    RET_ReallyLR implicit $w0127 128...129---130name:            sle_true131tracksRegLiveness: true132body:             |133  bb.0:134    liveins: $x0135 136    ; CHECK-LABEL: name: sle_true137    ; CHECK: liveins: $x0138    ; CHECK-NEXT: {{  $}}139    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true140    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)141    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)142    ; CHECK-NEXT: RET_ReallyLR implicit $w0143    %ptr:_(p0) = COPY $x0144    %cst:_(s32) = G_CONSTANT i32 1145    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)146    %cmp:_(s1) = G_ICMP intpred(sle), %cst, %load_eq_1(s32)147    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)148    $w0 = COPY %cmp_ext(s32)149    RET_ReallyLR implicit $w0150 151 152...153---154name:            slt_true155tracksRegLiveness: true156body:             |157  bb.0:158    liveins: $x0159 160    ; CHECK-LABEL: name: slt_true161    ; CHECK: liveins: $x0162    ; CHECK-NEXT: {{  $}}163    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true164    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)165    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)166    ; CHECK-NEXT: RET_ReallyLR implicit $w0167    %ptr:_(p0) = COPY $x0168    %cst:_(s32) = G_CONSTANT i32 -1169    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)170    %cmp:_(s1) = G_ICMP intpred(slt), %cst, %load_eq_1(s32)171    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)172    $w0 = COPY %cmp_ext(s32)173    RET_ReallyLR implicit $w0174 175...176---177name:            uge_true178tracksRegLiveness: true179body:             |180  bb.0:181    liveins: $x0182 183    ; CHECK-LABEL: name: uge_true184    ; CHECK: liveins: $x0185    ; CHECK-NEXT: {{  $}}186    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true187    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)188    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)189    ; CHECK-NEXT: RET_ReallyLR implicit $w0190    %ptr:_(p0) = COPY $x0191    %cst:_(s32) = G_CONSTANT i32 2192    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)193    %cmp:_(s1) = G_ICMP intpred(uge), %cst, %load_eq_1(s32)194    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)195    $w0 = COPY %cmp_ext(s32)196    RET_ReallyLR implicit $w0197 198...199---200name:            ugt_true201tracksRegLiveness: true202body:             |203  bb.0:204    liveins: $x0205 206    ; CHECK-LABEL: name: ugt_true207    ; CHECK: liveins: $x0208    ; CHECK-NEXT: {{  $}}209    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true210    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)211    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)212    ; CHECK-NEXT: RET_ReallyLR implicit $w0213    %ptr:_(p0) = COPY $x0214    %cst:_(s32) = G_CONSTANT i32 -1215    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)216    %cmp:_(s1) = G_ICMP intpred(ugt), %cst, %load_eq_1(s32)217    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)218    $w0 = COPY %cmp_ext(s32)219    RET_ReallyLR implicit $w0220 221...222---223name:            ule_true224tracksRegLiveness: true225body:             |226  bb.0:227    liveins: $x0228 229    ; CHECK-LABEL: name: ule_true230    ; CHECK: liveins: $x0231    ; CHECK-NEXT: {{  $}}232    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true233    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)234    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)235    ; CHECK-NEXT: RET_ReallyLR implicit $w0236    %ptr:_(p0) = COPY $x0237    %cst:_(s32) = G_CONSTANT i32 1238    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)239    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)240    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)241    $w0 = COPY %cmp_ext(s32)242    RET_ReallyLR implicit $w0243 244...245---246name:            ult_true247tracksRegLiveness: true248body:             |249  bb.0:250    liveins: $x0251 252    ; CHECK-LABEL: name: ult_true253    ; CHECK: liveins: $x0254    ; CHECK-NEXT: {{  $}}255    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 true256    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)257    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)258    ; CHECK-NEXT: RET_ReallyLR implicit $w0259    %ptr:_(p0) = COPY $x0260    %cst:_(s32) = G_CONSTANT i32 0261    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)262    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)263    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)264    $w0 = COPY %cmp_ext(s32)265    RET_ReallyLR implicit $w0266 267...268---269name:            eq_false270tracksRegLiveness: true271body:             |272  bb.0:273    liveins: $x0274 275    ; CHECK-LABEL: name: eq_false276    ; CHECK: liveins: $x0277    ; CHECK-NEXT: {{  $}}278    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false279    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)280    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)281    ; CHECK-NEXT: RET_ReallyLR implicit $w0282    %ptr:_(p0) = COPY $x0283    %cst:_(s32) = G_CONSTANT i32 0284    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)285    %cmp:_(s1) = G_ICMP intpred(eq), %load_eq_1(s32), %cst286    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)287    $w0 = COPY %cmp_ext(s32)288    RET_ReallyLR implicit $w0289 290...291---292name:            ne_false293tracksRegLiveness: true294body:             |295  bb.0:296    liveins: $x0297 298    ; CHECK-LABEL: name: ne_false299    ; CHECK: liveins: $x0300    ; CHECK-NEXT: {{  $}}301    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false302    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)303    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)304    ; CHECK-NEXT: RET_ReallyLR implicit $w0305    %ptr:_(p0) = COPY $x0306    %cst_1:_(s32) = G_CONSTANT i32 1307    %cst_2:_(s32) = G_CONSTANT i32 1308    %cmp:_(s1) = G_ICMP intpred(ne), %cst_1(s32), %cst_2309    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)310    $w0 = COPY %cmp_ext(s32)311    RET_ReallyLR implicit $w0312 313...314---315name:            sge_false316tracksRegLiveness: true317body:             |318  bb.0:319    liveins: $x0320 321    ; CHECK-LABEL: name: sge_false322    ; CHECK: liveins: $x0323    ; CHECK-NEXT: {{  $}}324    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false325    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)326    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)327    ; CHECK-NEXT: RET_ReallyLR implicit $w0328    %ptr:_(p0) = COPY $x0329    %cst:_(s32) = G_CONSTANT i32 -1330    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)331    %cmp:_(s1) = G_ICMP intpred(sge), %cst, %load_eq_1(s32)332    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)333    $w0 = COPY %cmp_ext(s32)334    RET_ReallyLR implicit $w0335 336...337---338name:            sgt_false339tracksRegLiveness: true340body:             |341  bb.0:342    liveins: $x0343 344    ; CHECK-LABEL: name: sgt_false345    ; CHECK: liveins: $x0346    ; CHECK-NEXT: {{  $}}347    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false348    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)349    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)350    ; CHECK-NEXT: RET_ReallyLR implicit $w0351    %ptr:_(p0) = COPY $x0352    %cst:_(s32) = G_CONSTANT i32 1353    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)354    %cmp:_(s1) = G_ICMP intpred(sgt), %cst, %load_eq_1(s32)355    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)356    $w0 = COPY %cmp_ext(s32)357    RET_ReallyLR implicit $w0358 359...360---361name:            sle_false362tracksRegLiveness: true363body:             |364  bb.0:365    liveins: $x0366 367    ; CHECK-LABEL: name: sle_false368    ; CHECK: liveins: $x0369    ; CHECK-NEXT: {{  $}}370    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false371    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)372    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)373    ; CHECK-NEXT: RET_ReallyLR implicit $w0374    %ptr:_(p0) = COPY $x0375    %cst:_(s32) = G_CONSTANT i32 3376    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)377    %cmp:_(s1) = G_ICMP intpred(sle), %cst, %load_eq_1(s32)378    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)379    $w0 = COPY %cmp_ext(s32)380    RET_ReallyLR implicit $w0381 382 383...384---385name:            slt_false386tracksRegLiveness: true387body:             |388  bb.0:389    liveins: $x0390 391    ; CHECK-LABEL: name: slt_false392    ; CHECK: liveins: $x0393    ; CHECK-NEXT: {{  $}}394    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false395    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)396    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)397    ; CHECK-NEXT: RET_ReallyLR implicit $w0398    %ptr:_(p0) = COPY $x0399    %cst:_(s32) = G_CONSTANT i32 2400    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)401    %cmp:_(s1) = G_ICMP intpred(slt), %cst, %load_eq_1(s32)402    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)403    $w0 = COPY %cmp_ext(s32)404    RET_ReallyLR implicit $w0405 406...407---408name:            uge_false409tracksRegLiveness: true410body:             |411  bb.0:412    liveins: $x0413 414    ; CHECK-LABEL: name: uge_false415    ; CHECK: liveins: $x0416    ; CHECK-NEXT: {{  $}}417    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false418    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)419    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)420    ; CHECK-NEXT: RET_ReallyLR implicit $w0421    %ptr:_(p0) = COPY $x0422    %cst:_(s32) = G_CONSTANT i32 0423    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)424    %cmp:_(s1) = G_ICMP intpred(uge), %cst, %load_eq_1(s32)425    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)426    $w0 = COPY %cmp_ext(s32)427    RET_ReallyLR implicit $w0428 429...430---431name:            ugt_false432tracksRegLiveness: true433body:             |434  bb.0:435    liveins: $x0436 437    ; CHECK-LABEL: name: ugt_false438    ; CHECK: liveins: $x0439    ; CHECK-NEXT: {{  $}}440    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false441    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)442    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)443    ; CHECK-NEXT: RET_ReallyLR implicit $w0444    %ptr:_(p0) = COPY $x0445    %cst:_(s32) = G_CONSTANT i32 1446    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)447    %cmp:_(s1) = G_ICMP intpred(ugt), %cst, %load_eq_1(s32)448    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)449    $w0 = COPY %cmp_ext(s32)450    RET_ReallyLR implicit $w0451 452...453---454name:            ule_false455tracksRegLiveness: true456body:             |457  bb.0:458    liveins: $x0459 460    ; CHECK-LABEL: name: ule_false461    ; CHECK: liveins: $x0462    ; CHECK-NEXT: {{  $}}463    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false464    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)465    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)466    ; CHECK-NEXT: RET_ReallyLR implicit $w0467    %ptr:_(p0) = COPY $x0468    %cst:_(s32) = G_CONSTANT i32 -1469    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)470    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)471    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)472    $w0 = COPY %cmp_ext(s32)473    RET_ReallyLR implicit $w0474 475...476---477name:            ult_false478tracksRegLiveness: true479body:             |480  bb.0:481    liveins: $x0482 483    ; CHECK-LABEL: name: ult_false484    ; CHECK: liveins: $x0485    ; CHECK-NEXT: {{  $}}486    ; CHECK-NEXT: %cmp:_(s1) = G_CONSTANT i1 false487    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)488    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)489    ; CHECK-NEXT: RET_ReallyLR implicit $w0490    %ptr:_(p0) = COPY $x0491    %cst:_(s32) = G_CONSTANT i32 2492    %load_eq_1:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !0)493    %cmp:_(s1) = G_ICMP intpred(ule), %cst, %load_eq_1(s32)494    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)495    $w0 = COPY %cmp_ext(s32)496    RET_ReallyLR implicit $w0497 498...499---500name:            eq_unknown501tracksRegLiveness: true502body:             |503  bb.0:504    liveins: $x0505 506    ; CHECK-LABEL: name: eq_unknown507    ; CHECK: liveins: $x0508    ; CHECK-NEXT: {{  $}}509    ; CHECK-NEXT: %ptr:_(p0) = COPY $x0510    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1511    ; CHECK-NEXT: %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32),512    ; CHECK-NEXT: %cmp:_(s1) = G_ICMP intpred(eq), %load_between_1_2(s32), %cst513    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)514    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)515    ; CHECK-NEXT: RET_ReallyLR implicit $w0516    %ptr:_(p0) = COPY $x0517    %cst:_(s32) = G_CONSTANT i32 1518    %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !1)519    %cmp:_(s1) = G_ICMP intpred(eq), %load_between_1_2(s32), %cst520    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)521    $w0 = COPY %cmp_ext(s32)522    RET_ReallyLR implicit $w0523 524...525---526name:            ne_unknown527tracksRegLiveness: true528body:             |529  bb.0:530    liveins: $x0531 532    ; CHECK-LABEL: name: ne_unknown533    ; CHECK: liveins: $x0534    ; CHECK-NEXT: {{  $}}535    ; CHECK-NEXT: %ptr:_(p0) = COPY $x0536    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1537    ; CHECK-NEXT: %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32),538    ; CHECK-NEXT: %cmp:_(s1) = G_ICMP intpred(ne), %load_between_1_2(s32), %cst539    ; CHECK-NEXT: %cmp_ext:_(s32) = G_ZEXT %cmp(s1)540    ; CHECK-NEXT: $w0 = COPY %cmp_ext(s32)541    ; CHECK-NEXT: RET_ReallyLR implicit $w0542    %ptr:_(p0) = COPY $x0543    %cst:_(s32) = G_CONSTANT i32 1544    %load_between_1_2:_(s32) = G_LOAD %ptr(p0) :: (load (s32), !range !1)545    %cmp:_(s1) = G_ICMP intpred(ne), %load_between_1_2(s32), %cst546    %cmp_ext:_(s32) = G_ZEXT %cmp(s1)547    $w0 = COPY %cmp_ext(s32)548    RET_ReallyLR implicit $w0549 550...551---552name:            vector_true553tracksRegLiveness: true554body:             |555  bb.0:556    liveins: $x0557    ; CHECK-LABEL: name: vector_true558    ; CHECK: liveins: $x0559    ; CHECK-NEXT: {{  $}}560    ; CHECK-NEXT: %cst64:_(s64) = G_CONSTANT i64 1561    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 true562    ; CHECK-NEXT: %cmp:_(<2 x s1>) = G_BUILD_VECTOR [[C]](s1), [[C]](s1)563    ; CHECK-NEXT: %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst64(s64)564    ; CHECK-NEXT: %extract_ext:_(s32) = G_ZEXT %extract(s1)565    ; CHECK-NEXT: $w0 = COPY %extract_ext(s32)566    ; CHECK-NEXT: RET_ReallyLR implicit $w0567    %ptr:_(p0) = COPY $x0568    %cst:_(s32) = G_CONSTANT i32 1569    %cst64:_(s64) = G_CONSTANT i64 1570    %bv:_(<2 x s32>) = G_BUILD_VECTOR %cst, %cst571    %cmp:_(<2 x s1>) = G_ICMP intpred(eq), %bv(<2 x s32>), %bv572    %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst64(s64)573    %extract_ext:_(s32) = G_ZEXT %extract(s1)574    $w0 = COPY %extract_ext(s32)575    RET_ReallyLR implicit $w0576 577...578---579name:            vector_false580tracksRegLiveness: true581body:             |582  bb.0:583    liveins: $x0584    ; CHECK-LABEL: name: vector_false585    ; CHECK: liveins: $x0586    ; CHECK-NEXT: {{  $}}587    ; CHECK-NEXT: %cst64:_(s64) = G_CONSTANT i64 1588    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 false589    ; CHECK-NEXT: %cmp:_(<2 x s1>) = G_BUILD_VECTOR [[C]](s1), [[C]](s1)590    ; CHECK-NEXT: %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst64(s64)591    ; CHECK-NEXT: %extract_ext:_(s32) = G_ZEXT %extract(s1)592    ; CHECK-NEXT: $w0 = COPY %extract_ext(s32)593    ; CHECK-NEXT: RET_ReallyLR implicit $w0594    %ptr:_(p0) = COPY $x0595    %cst:_(s32) = G_CONSTANT i32 1596    %cst64:_(s64) = G_CONSTANT i64 1597    %bv:_(<2 x s32>) = G_BUILD_VECTOR %cst, %cst598    %cmp:_(<2 x s1>) = G_ICMP intpred(ne), %bv(<2 x s32>), %bv599    %extract:_(s1) = G_EXTRACT_VECTOR_ELT %cmp(<2 x s1>), %cst64(s64)600    %extract_ext:_(s32) = G_ZEXT %extract(s1)601    $w0 = COPY %extract_ext(s32)602    RET_ReallyLR implicit $w0603