brintos

brintos / llvm-project-archived public Read only

0
0
Text · 46.7 KiB · 1950e60 Raw
1490 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - -mtriple=aarch64-unknown-unknown -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s | FileCheck %s3 4...5---6name:            freeze_register7body:             |8  bb.1:9    liveins: $w010 11    ; CHECK-LABEL: name: freeze_register12    ; CHECK: liveins: $w013    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x015    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[COPY]]16    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)17    ; CHECK-NEXT: RET_ReallyLR implicit $x018    %0:_(s64) = COPY $x019    %1:_(s64) = G_FREEZE %020    $x0 = COPY %1(s64)21    RET_ReallyLR implicit $x022 23...24---25name:            freeze_constant26body:             |27  bb.1:28    liveins: $w029 30    ; CHECK-LABEL: name: freeze_constant31    ; CHECK: liveins: $w032    ; CHECK-NEXT: {{  $}}33    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 934    ; CHECK-NEXT: $x0 = COPY [[C]](s64)35    ; CHECK-NEXT: RET_ReallyLR implicit $x036    %1:_(s64) = G_CONSTANT i64 937    %2:_(s64) = G_FREEZE %138    $x0 = COPY %2(s64)39    RET_ReallyLR implicit $x040 41...42---43name:            freeze_fconstant44body:             |45  bb.1:46    liveins: $w047 48    ; CHECK-LABEL: name: freeze_fconstant49    ; CHECK: liveins: $w050    ; CHECK-NEXT: {{  $}}51    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_FCONSTANT double 9.000000e+0052    ; CHECK-NEXT: $x0 = COPY [[C]](s64)53    ; CHECK-NEXT: RET_ReallyLR implicit $x054    %1:_(s64) = G_FCONSTANT double 9.055    %2:_(s64) = G_FREEZE %156    $x0 = COPY %2(s64)57    RET_ReallyLR implicit $x058...59---60name:            freeze_undef61body:             |62  bb.1:63    liveins: $w064 65    ; CHECK-LABEL: name: freeze_undef66    ; CHECK: liveins: $w067    ; CHECK-NEXT: {{  $}}68    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF69    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[DEF]]70    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)71    ; CHECK-NEXT: RET_ReallyLR implicit $x072    %1:_(s64) = G_IMPLICIT_DEF73    %2:_(s64) = G_FREEZE %174    $x0 = COPY %2(s64)75    RET_ReallyLR implicit $x076...77---78name:            freeze_freeze79body:             |80  bb.1:81    liveins: $w082 83    ; CHECK-LABEL: name: freeze_freeze84    ; CHECK: liveins: $w085    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x087    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[COPY]]88    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)89    ; CHECK-NEXT: RET_ReallyLR implicit $x090    %0:_(s64) = COPY $x091    %1:_(s64) = G_FREEZE %092    %2:_(s64) = G_FREEZE %193    $x0 = COPY %2(s64)94    RET_ReallyLR implicit $x095...96---97name:            freeze_buildvector98body:             |99  bb.1:100    liveins: $w0101 102    ; CHECK-LABEL: name: freeze_buildvector103    ; CHECK: liveins: $w0104    ; CHECK-NEXT: {{  $}}105    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0106    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[COPY]](s32), [[COPY]](s32), [[COPY]](s32), [[COPY]](s32)107    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(<4 x s32>) = G_FREEZE [[BUILD_VECTOR]]108    ; CHECK-NEXT: $q0 = COPY [[FREEZE]](<4 x s32>)109    ; CHECK-NEXT: RET_ReallyLR implicit $q0110    %0:_(s32) = COPY $w0111    %1:_(<4 x s32>) = G_BUILD_VECTOR %0(s32), %0(s32), %0(s32), %0(s32)112    %2:_(<4 x s32>) = G_FREEZE %1113    $q0 = COPY %2(<4 x s32>)114    RET_ReallyLR implicit $q0115...116---117name:            freeze_buildvector_const118body:             |119  bb.1:120    liveins: $w0121 122    ; CHECK-LABEL: name: freeze_buildvector_const123    ; CHECK: liveins: $w0124    ; CHECK-NEXT: {{  $}}125    ; CHECK-NEXT: %c:_(s32) = G_CONSTANT i32 6126    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR %c(s32), %c(s32), %c(s32), %c(s32)127    ; CHECK-NEXT: $q0 = COPY [[BUILD_VECTOR]](<4 x s32>)128    ; CHECK-NEXT: RET_ReallyLR implicit $q0129    %0:_(s32) = COPY $w0130    %c:_(s32) = G_CONSTANT i32 6131    %1:_(<4 x s32>) = G_BUILD_VECTOR %c(s32), %c(s32), %c(s32), %c(s32)132    %2:_(<4 x s32>) = G_FREEZE %1133    $q0 = COPY %2(<4 x s32>)134    RET_ReallyLR implicit $q0135...136---137name:            freeze_disjoint_or_fold_barrier138body:             |139  bb.1:140    liveins: $w0141 142    ; CHECK-LABEL: name: freeze_disjoint_or_fold_barrier143    ; CHECK: liveins: $w0144    ; CHECK-NEXT: {{  $}}145    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9146    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst147    ; CHECK-NEXT: $x0 = COPY %c(s64)148    ; CHECK-NEXT: RET_ReallyLR implicit $x0149    %0:_(s64) = COPY $x0150    %cst:_(s64) = G_CONSTANT i64 9151    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst152    %1:_(s64) = disjoint G_OR %c, %c153    %2:_(s64) = G_FREEZE %1154    $x0 = COPY %2(s64)155    RET_ReallyLR implicit $x0156...157---158name:            freeze_or_fold_barrier159body:             |160  bb.1:161    liveins: $w0162 163    ; CHECK-LABEL: name: freeze_or_fold_barrier164    ; CHECK: liveins: $w0165    ; CHECK-NEXT: {{  $}}166    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9167    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst168    ; CHECK-NEXT: $x0 = COPY %c(s64)169    ; CHECK-NEXT: RET_ReallyLR implicit $x0170    %0:_(s64) = COPY $x0171    %cst:_(s64) = G_CONSTANT i64 9172    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst173    %1:_(s64) = G_OR %c, %c174    %2:_(s64) = G_FREEZE %1175    $x0 = COPY %2(s64)176    RET_ReallyLR implicit $x0177...178---179name:            freeze_nneg_zext_fold_barrier180body:             |181  bb.1:182    liveins: $w0183 184    ; CHECK-LABEL: name: freeze_nneg_zext_fold_barrier185    ; CHECK: liveins: $w0186    ; CHECK-NEXT: {{  $}}187    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 9188    ; CHECK-NEXT: %c:_(s32) = G_CONSTANT_FOLD_BARRIER %cst189    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT %c(s32)190    ; CHECK-NEXT: $x0 = COPY [[ZEXT]](s64)191    ; CHECK-NEXT: RET_ReallyLR implicit $x0192    %0:_(s64) = COPY $x0193    %cst:_(s32) = G_CONSTANT i32 9194    %c:_(s32) = G_CONSTANT_FOLD_BARRIER %cst195    %1:_(s64) = nneg G_ZEXT %c196    %2:_(s64) = G_FREEZE %1197    $x0 = COPY %2(s64)198    RET_ReallyLR implicit $x0199...200---201name:            freeze_zext_fold_barrier202body:             |203  bb.1:204    liveins: $w0205 206    ; CHECK-LABEL: name: freeze_zext_fold_barrier207    ; CHECK: liveins: $w0208    ; CHECK-NEXT: {{  $}}209    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 9210    ; CHECK-NEXT: %c:_(s32) = G_CONSTANT_FOLD_BARRIER %cst211    ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT %c(s32)212    ; CHECK-NEXT: $x0 = COPY [[ZEXT]](s64)213    ; CHECK-NEXT: RET_ReallyLR implicit $x0214    %0:_(s64) = COPY $x0215    %cst:_(s32) = G_CONSTANT i32 9216    %c:_(s32) = G_CONSTANT_FOLD_BARRIER %cst217    %1:_(s64) = G_ZEXT %c218    %2:_(s64) = G_FREEZE %1219    $x0 = COPY %2(s64)220    RET_ReallyLR implicit $x0221...222---223name:            freeze_udiv_fold_barrier224body:             |225  bb.1:226    liveins: $w0227 228    ; CHECK-LABEL: name: freeze_udiv_fold_barrier229    ; CHECK: liveins: $w0230    ; CHECK-NEXT: {{  $}}231    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9232    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst233    ; CHECK-NEXT: [[UDIV:%[0-9]+]]:_(s64) = G_UDIV %c, %c234    ; CHECK-NEXT: $x0 = COPY [[UDIV]](s64)235    ; CHECK-NEXT: RET_ReallyLR implicit $x0236    %0:_(s64) = COPY $x0237    %cst:_(s64) = G_CONSTANT i64 9238    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst239    %1:_(s64) = G_UDIV %c, %c240    %2:_(s64) = G_FREEZE %1241    $x0 = COPY %2(s64)242    RET_ReallyLR implicit $x0243...244---245name:            freeze_exact_udiv_fold_barrier246body:             |247  bb.1:248    liveins: $w0249 250    ; CHECK-LABEL: name: freeze_exact_udiv_fold_barrier251    ; CHECK: liveins: $w0252    ; CHECK-NEXT: {{  $}}253    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9254    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst255    ; CHECK-NEXT: [[UDIV:%[0-9]+]]:_(s64) = G_UDIV %c, %c256    ; CHECK-NEXT: $x0 = COPY [[UDIV]](s64)257    ; CHECK-NEXT: RET_ReallyLR implicit $x0258    %0:_(s64) = COPY $x0259    %cst:_(s64) = G_CONSTANT i64 9260    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst261    %1:_(s64) = exact G_UDIV %c, %c262    %2:_(s64) = G_FREEZE %1263    $x0 = COPY %2(s64)264    RET_ReallyLR implicit $x0265...266---267name:            freeze_mul_fold_barrier268body:             |269  bb.1:270    liveins: $w0271 272    ; CHECK-LABEL: name: freeze_mul_fold_barrier273    ; CHECK: liveins: $w0274    ; CHECK-NEXT: {{  $}}275    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9276    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst277    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL %c, %c278    ; CHECK-NEXT: $x0 = COPY [[MUL]](s64)279    ; CHECK-NEXT: RET_ReallyLR implicit $x0280    %0:_(s64) = COPY $x0281    %cst:_(s64) = G_CONSTANT i64 9282    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst283    %1:_(s64) = G_MUL %c, %c284    %2:_(s64) = G_FREEZE %1285    $x0 = COPY %2(s64)286    RET_ReallyLR implicit $x0287...288---289name:            freeze_nsw_mul_fold_barrier290body:             |291  bb.1:292    liveins: $w0293 294    ; CHECK-LABEL: name: freeze_nsw_mul_fold_barrier295    ; CHECK: liveins: $w0296    ; CHECK-NEXT: {{  $}}297    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9298    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst299    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL %c, %c300    ; CHECK-NEXT: $x0 = COPY [[MUL]](s64)301    ; CHECK-NEXT: RET_ReallyLR implicit $x0302    %0:_(s64) = COPY $x0303    %cst:_(s64) = G_CONSTANT i64 9304    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst305    %1:_(s64) = nsw G_MUL %c, %c306    %2:_(s64) = G_FREEZE %1307    $x0 = COPY %2(s64)308    RET_ReallyLR implicit $x0309...310---311name:            freeze_trunc_fold_barrier312body:             |313  bb.1:314    liveins: $w0315 316    ; CHECK-LABEL: name: freeze_trunc_fold_barrier317    ; CHECK: liveins: $w0318    ; CHECK-NEXT: {{  $}}319    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9320    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst321    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC %c(s64)322    ; CHECK-NEXT: $w0 = COPY [[TRUNC]](s32)323    ; CHECK-NEXT: RET_ReallyLR implicit $q0324    %0:_(s64) = COPY $x0325    %cst:_(s64) = G_CONSTANT i64 9326    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst327    %1:_(s32) = G_TRUNC %c328    %2:_(s32) = G_FREEZE %1329    $w0 = COPY %2(s32)330    RET_ReallyLR implicit $q0331...332---333name:            freeze_nuw_trunc_fold_barrier334body:             |335  bb.1:336    liveins: $w0337 338    ; CHECK-LABEL: name: freeze_nuw_trunc_fold_barrier339    ; CHECK: liveins: $w0340    ; CHECK-NEXT: {{  $}}341    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9342    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst343    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC %c(s64)344    ; CHECK-NEXT: $w0 = COPY [[TRUNC]](s32)345    ; CHECK-NEXT: RET_ReallyLR implicit $q0346    %0:_(s64) = COPY $x0347    %cst:_(s64) = G_CONSTANT i64 9348    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst349    %1:_(s32) = nuw G_TRUNC %c350    %2:_(s32) = G_FREEZE %1351    $w0 = COPY %2(s32)352    RET_ReallyLR implicit $q0353...354---355name:            freeze_add_fold_barrier356body:             |357  bb.1:358    liveins: $w0359 360    ; CHECK-LABEL: name: freeze_add_fold_barrier361    ; CHECK: liveins: $w0362    ; CHECK-NEXT: {{  $}}363    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9364    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst365    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD %c, %c366    ; CHECK-NEXT: $x0 = COPY [[ADD]](s64)367    ; CHECK-NEXT: RET_ReallyLR implicit $x0368    %0:_(s64) = COPY $x0369    %cst:_(s64) = G_CONSTANT i64 9370    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst371    %1:_(s64) = G_ADD %c, %c372    %2:_(s64) = G_FREEZE %1373    $x0 = COPY %2(s64)374    RET_ReallyLR implicit $x0375...376---377name:            freeze_nuw_add_fold_barrier378body:             |379  bb.1:380    liveins: $w0381 382    ; CHECK-LABEL: name: freeze_nuw_add_fold_barrier383    ; CHECK: liveins: $w0384    ; CHECK-NEXT: {{  $}}385    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9386    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst387    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD %c, %c388    ; CHECK-NEXT: $x0 = COPY [[ADD]](s64)389    ; CHECK-NEXT: RET_ReallyLR implicit $x0390    %0:_(s64) = COPY $x0391    %cst:_(s64) = G_CONSTANT i64 9392    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst393    %1:_(s64) = nuw G_ADD %c, %c394    %2:_(s64) = G_FREEZE %1395    $x0 = COPY %2(s64)396    RET_ReallyLR implicit $x0397...398---399name:            freeze_xor_fold_barrier400body:             |401  bb.1:402    liveins: $w0403 404    ; CHECK-LABEL: name: freeze_xor_fold_barrier405    ; CHECK: liveins: $w0406    ; CHECK-NEXT: {{  $}}407    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9408    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst409    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR %c, %c410    ; CHECK-NEXT: $x0 = COPY [[XOR]](s64)411    ; CHECK-NEXT: RET_ReallyLR implicit $x0412    %0:_(s64) = COPY $x0413    %cst:_(s64) = G_CONSTANT i64 9414    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst415    %1:_(s64) = G_XOR %c, %c416    %2:_(s64) = G_FREEZE %1417    $x0 = COPY %2(s64)418    RET_ReallyLR implicit $x0419...420---421name:            freeze_fptosi_fold_barrier422body:             |423  bb.1:424    liveins: $w0425 426    ; CHECK-LABEL: name: freeze_fptosi_fold_barrier427    ; CHECK: liveins: $w0428    ; CHECK-NEXT: {{  $}}429    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9430    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst431    ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s64) = G_FPTOSI %c(s64)432    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[FPTOSI]]433    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)434    ; CHECK-NEXT: RET_ReallyLR implicit $x0435    %0:_(s64) = COPY $x0436    %cst:_(s64) = G_CONSTANT i64 9437    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst438    %1:_(s64) = G_FPTOSI %c439    %2:_(s64) = G_FREEZE %1440    $x0 = COPY %2(s64)441    RET_ReallyLR implicit $x0442...443---444name:            freeze_fptoui_fold_barrier445body:             |446  bb.1:447    liveins: $w0448 449    ; CHECK-LABEL: name: freeze_fptoui_fold_barrier450    ; CHECK: liveins: $w0451    ; CHECK-NEXT: {{  $}}452    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9453    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst454    ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s64) = G_FPTOUI %c(s64)455    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[FPTOUI]]456    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)457    ; CHECK-NEXT: RET_ReallyLR implicit $x0458    %0:_(s64) = COPY $x0459    %cst:_(s64) = G_CONSTANT i64 9460    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst461    %1:_(s64) = G_FPTOUI %c462    %2:_(s64) = G_FREEZE %1463    $x0 = COPY %2(s64)464    RET_ReallyLR implicit $x0465...466---467name:            freeze_shl_fold_barrier468body:             |469  bb.1:470    liveins: $w0471 472    ; CHECK-LABEL: name: freeze_shl_fold_barrier473    ; CHECK: liveins: $w0474    ; CHECK-NEXT: {{  $}}475    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9476    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst477    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %c, %c(s64)478    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[SHL]]479    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)480    ; CHECK-NEXT: RET_ReallyLR implicit $x0481    %0:_(s64) = COPY $x0482    %cst:_(s64) = G_CONSTANT i64 9483    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst484    %1:_(s64) = G_SHL %c, %c485    %2:_(s64) = G_FREEZE %1486    $x0 = COPY %2(s64)487    RET_ReallyLR implicit $x0488...489---490name:            freeze_ashr_fold_barrier491body:             |492  bb.1:493    liveins: $w0494 495    ; CHECK-LABEL: name: freeze_ashr_fold_barrier496    ; CHECK: liveins: $w0497    ; CHECK-NEXT: {{  $}}498    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9499    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst500    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR %c, %c(s64)501    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[ASHR]]502    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)503    ; CHECK-NEXT: RET_ReallyLR implicit $x0504    %0:_(s64) = COPY $x0505    %cst:_(s64) = G_CONSTANT i64 9506    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst507    %1:_(s64) = G_ASHR %c, %c508    %2:_(s64) = G_FREEZE %1509    $x0 = COPY %2(s64)510    RET_ReallyLR implicit $x0511...512---513name:            freeze_lshr_fold_barrier514body:             |515  bb.1:516    liveins: $w0517 518    ; CHECK-LABEL: name: freeze_lshr_fold_barrier519    ; CHECK: liveins: $w0520    ; CHECK-NEXT: {{  $}}521    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9522    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst523    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR %c, %c(s64)524    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[LSHR]]525    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)526    ; CHECK-NEXT: RET_ReallyLR implicit $x0527    %0:_(s64) = COPY $x0528    %cst:_(s64) = G_CONSTANT i64 9529    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst530    %1:_(s64) = G_LSHR %c, %c531    %2:_(s64) = G_FREEZE %1532    $x0 = COPY %2(s64)533    RET_ReallyLR implicit $x0534...535---536name:            freeze_ctlz_fold_barrier537body:             |538  bb.1:539    liveins: $w0540 541    ; CHECK-LABEL: name: freeze_ctlz_fold_barrier542    ; CHECK: liveins: $w0543    ; CHECK-NEXT: {{  $}}544    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9545    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst546    ; CHECK-NEXT: [[CTLZ:%[0-9]+]]:_(s64) = G_CTLZ %c(s64)547    ; CHECK-NEXT: $x0 = COPY [[CTLZ]](s64)548    ; CHECK-NEXT: RET_ReallyLR implicit $x0549    %0:_(s64) = COPY $x0550    %cst:_(s64) = G_CONSTANT i64 9551    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst552    %1:_(s64) = G_CTLZ %c553    %2:_(s64) = G_FREEZE %1554    $x0 = COPY %2(s64)555    RET_ReallyLR implicit $x0556...557---558name:            freeze_cttz_fold_barrier559body:             |560  bb.1:561    liveins: $w0562 563    ; CHECK-LABEL: name: freeze_cttz_fold_barrier564    ; CHECK: liveins: $w0565    ; CHECK-NEXT: {{  $}}566    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9567    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst568    ; CHECK-NEXT: [[CTTZ:%[0-9]+]]:_(s64) = G_CTTZ %c(s64)569    ; CHECK-NEXT: $x0 = COPY [[CTTZ]](s64)570    ; CHECK-NEXT: RET_ReallyLR implicit $x0571    %0:_(s64) = COPY $x0572    %cst:_(s64) = G_CONSTANT i64 9573    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst574    %1:_(s64) = G_CTTZ %c575    %2:_(s64) = G_FREEZE %1576    $x0 = COPY %2(s64)577    RET_ReallyLR implicit $x0578...579---580name:            freeze_abs_fold_barrier581body:             |582  bb.1:583    liveins: $w0584 585    ; CHECK-LABEL: name: freeze_abs_fold_barrier586    ; CHECK: liveins: $w0587    ; CHECK-NEXT: {{  $}}588    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9589    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst590    ; CHECK-NEXT: [[ABS:%[0-9]+]]:_(s64) = G_ABS %c591    ; CHECK-NEXT: $x0 = COPY [[ABS]](s64)592    ; CHECK-NEXT: RET_ReallyLR implicit $x0593    %0:_(s64) = COPY $x0594    %cst:_(s64) = G_CONSTANT i64 9595    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst596    %1:_(s64) = G_ABS %c597    %2:_(s64) = G_FREEZE %1598    $x0 = COPY %2(s64)599    RET_ReallyLR implicit $x0600...601---602name:            freeze_bswap_fold_barrier603body:             |604  bb.1:605    liveins: $w0606 607    ; CHECK-LABEL: name: freeze_bswap_fold_barrier608    ; CHECK: liveins: $w0609    ; CHECK-NEXT: {{  $}}610    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9611    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst612    ; CHECK-NEXT: [[BSWAP:%[0-9]+]]:_(s64) = G_BSWAP %c613    ; CHECK-NEXT: $x0 = COPY [[BSWAP]](s64)614    ; CHECK-NEXT: RET_ReallyLR implicit $x0615    %0:_(s64) = COPY $x0616    %cst:_(s64) = G_CONSTANT i64 9617    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst618    %1:_(s64) = G_BSWAP %c619    %2:_(s64) = G_FREEZE %1620    $x0 = COPY %2(s64)621    RET_ReallyLR implicit $x0622...623---624name:            freeze_bitreverse_fold_barrier625body:             |626  bb.1:627    liveins: $w0628 629    ; CHECK-LABEL: name: freeze_bitreverse_fold_barrier630    ; CHECK: liveins: $w0631    ; CHECK-NEXT: {{  $}}632    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9633    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst634    ; CHECK-NEXT: [[BITREVERSE:%[0-9]+]]:_(s64) = G_BITREVERSE %c635    ; CHECK-NEXT: $x0 = COPY [[BITREVERSE]](s64)636    ; CHECK-NEXT: RET_ReallyLR implicit $x0637    %0:_(s64) = COPY $x0638    %cst:_(s64) = G_CONSTANT i64 9639    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst640    %1:_(s64) = G_BITREVERSE %c641    %2:_(s64) = G_FREEZE %1642    $x0 = COPY %2(s64)643    RET_ReallyLR implicit $x0644...645---646name:            freeze_icmp_fold_barrier647body:             |648  bb.1:649    liveins: $w0650 651    ; CHECK-LABEL: name: freeze_icmp_fold_barrier652    ; CHECK: liveins: $w0653    ; CHECK-NEXT: {{  $}}654    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9655    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst656    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst657    ; CHECK-NEXT: %cmp:_(s1) = G_ICMP intpred(eq), %c(s64), %d658    ; CHECK-NEXT: %ext:_(s64) = G_ZEXT %cmp(s1)659    ; CHECK-NEXT: $x0 = COPY %ext(s64)660    ; CHECK-NEXT: RET_ReallyLR implicit $x0661    %0:_(s64) = COPY $x0662    %cst:_(s64) = G_CONSTANT i64 9663    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst664    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst665    %cmp:_(s1) = G_ICMP intpred(eq), %c(s64), %d666    %2:_(s1) = G_FREEZE %cmp667    %ext:_(s64) = G_ZEXT %2(s1)668    $x0 = COPY %ext(s64)669    RET_ReallyLR implicit $x0670...671---672name:            freeze_fcmp_fold_barrier673body:             |674  bb.1:675    liveins: $w0676 677    ; CHECK-LABEL: name: freeze_fcmp_fold_barrier678    ; CHECK: liveins: $w0679    ; CHECK-NEXT: {{  $}}680    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9681    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst682    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst683    ; CHECK-NEXT: %cmp:_(s1) = G_FCMP floatpred(oeq), %c(s64), %d684    ; CHECK-NEXT: %ext:_(s64) = G_ZEXT %cmp(s1)685    ; CHECK-NEXT: $x0 = COPY %ext(s64)686    ; CHECK-NEXT: RET_ReallyLR implicit $x0687    %0:_(s64) = COPY $x0688    %cst:_(s64) = G_CONSTANT i64 9689    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst690    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst691    %cmp:_(s1) = G_FCMP floatpred(oeq), %c(s64), %d692    %2:_(s1) = G_FREEZE %cmp693    %ext:_(s64) = G_ZEXT %2(s1)694    $x0 = COPY %ext(s64)695    RET_ReallyLR implicit $x0696...697---698name:            freeze_fshl_fold_barrier699body:             |700  bb.1:701    liveins: $w0702 703    ; CHECK-LABEL: name: freeze_fshl_fold_barrier704    ; CHECK: liveins: $w0705    ; CHECK-NEXT: {{  $}}706    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9707    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst708    ; CHECK-NEXT: [[ROTL:%[0-9]+]]:_(s64) = G_ROTL %c, %c(s64)709    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[ROTL]]710    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)711    ; CHECK-NEXT: RET_ReallyLR implicit $x0712    %0:_(s64) = COPY $x0713    %cst:_(s64) = G_CONSTANT i64 9714    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst715    %1:_(s64) = G_FSHL %c, %c, %c716    %2:_(s64) = G_FREEZE %1717    $x0 = COPY %2(s64)718    RET_ReallyLR implicit $x0719...720---721name:            freeze_fshr_fold_barrier722body:             |723  bb.1:724    liveins: $w0725 726    ; CHECK-LABEL: name: freeze_fshr_fold_barrier727    ; CHECK: liveins: $w0728    ; CHECK-NEXT: {{  $}}729    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9730    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst731    ; CHECK-NEXT: [[ROTR:%[0-9]+]]:_(s64) = G_ROTR %c, %c(s64)732    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[ROTR]]733    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)734    ; CHECK-NEXT: RET_ReallyLR implicit $x0735    %0:_(s64) = COPY $x0736    %cst:_(s64) = G_CONSTANT i64 9737    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst738    %1:_(s64) = G_FSHR %c, %c, %c739    %2:_(s64) = G_FREEZE %1740    $x0 = COPY %2(s64)741    RET_ReallyLR implicit $x0742...743---744name:            freeze_smax_fold_barrier745body:             |746  bb.1:747    liveins: $w0748 749    ; CHECK-LABEL: name: freeze_smax_fold_barrier750    ; CHECK: liveins: $w0751    ; CHECK-NEXT: {{  $}}752    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9753    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst754    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst755    ; CHECK-NEXT: [[SMAX:%[0-9]+]]:_(s64) = G_SMAX %c, %d756    ; CHECK-NEXT: $x0 = COPY [[SMAX]](s64)757    ; CHECK-NEXT: RET_ReallyLR implicit $x0758    %0:_(s64) = COPY $x0759    %cst:_(s64) = G_CONSTANT i64 9760    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst761    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst762    %1:_(s64) = G_SMAX %c, %d763    %2:_(s64) = G_FREEZE %1764    $x0 = COPY %2(s64)765    RET_ReallyLR implicit $x0766...767---768name:            freeze_smin_fold_barrier769body:             |770  bb.1:771    liveins: $w0772 773    ; CHECK-LABEL: name: freeze_smin_fold_barrier774    ; CHECK: liveins: $w0775    ; CHECK-NEXT: {{  $}}776    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9777    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst778    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst779    ; CHECK-NEXT: [[SMIN:%[0-9]+]]:_(s64) = G_SMIN %c, %d780    ; CHECK-NEXT: $x0 = COPY [[SMIN]](s64)781    ; CHECK-NEXT: RET_ReallyLR implicit $x0782    %0:_(s64) = COPY $x0783    %cst:_(s64) = G_CONSTANT i64 9784    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst785    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst786    %1:_(s64) = G_SMIN %c, %d787    %2:_(s64) = G_FREEZE %1788    $x0 = COPY %2(s64)789    RET_ReallyLR implicit $x0790...791---792name:            freeze_umax_fold_barrier793body:             |794  bb.1:795    liveins: $w0796 797    ; CHECK-LABEL: name: freeze_umax_fold_barrier798    ; CHECK: liveins: $w0799    ; CHECK-NEXT: {{  $}}800    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9801    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst802    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst803    ; CHECK-NEXT: [[UMAX:%[0-9]+]]:_(s64) = G_UMAX %c, %d804    ; CHECK-NEXT: $x0 = COPY [[UMAX]](s64)805    ; CHECK-NEXT: RET_ReallyLR implicit $x0806    %0:_(s64) = COPY $x0807    %cst:_(s64) = G_CONSTANT i64 9808    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst809    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst810    %1:_(s64) = G_UMAX %c, %d811    %2:_(s64) = G_FREEZE %1812    $x0 = COPY %2(s64)813    RET_ReallyLR implicit $x0814...815---816name:            freeze_umin_fold_barrier817body:             |818  bb.1:819    liveins: $w0820 821    ; CHECK-LABEL: name: freeze_umin_fold_barrier822    ; CHECK: liveins: $w0823    ; CHECK-NEXT: {{  $}}824    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9825    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst826    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst827    ; CHECK-NEXT: [[UMIN:%[0-9]+]]:_(s64) = G_UMIN %c, %d828    ; CHECK-NEXT: $x0 = COPY [[UMIN]](s64)829    ; CHECK-NEXT: RET_ReallyLR implicit $x0830    %0:_(s64) = COPY $x0831    %cst:_(s64) = G_CONSTANT i64 9832    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst833    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst834    %1:_(s64) = G_UMIN %c, %d835    %2:_(s64) = G_FREEZE %1836    $x0 = COPY %2(s64)837    RET_ReallyLR implicit $x0838...839---840name:            freeze_ptrmask_fold_barrier841body:             |842  bb.1:843    liveins: $w0844 845    ; CHECK-LABEL: name: freeze_ptrmask_fold_barrier846    ; CHECK: liveins: $w0847    ; CHECK-NEXT: {{  $}}848    ; CHECK-NEXT: %p:_(p0) = COPY $x0849    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9850    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(p0) = G_FREEZE %p851    ; CHECK-NEXT: [[PTRMASK:%[0-9]+]]:_(p0) = G_PTRMASK [[FREEZE]], %cst(s64)852    ; CHECK-NEXT: $x0 = COPY [[PTRMASK]](p0)853    ; CHECK-NEXT: RET_ReallyLR implicit $x0854    %0:_(s64) = COPY $x0855    %p:_(p0) = COPY $x0856    %cst:_(s64) = G_CONSTANT i64 9857    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst858    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst859    %1:_(p0) = G_PTRMASK %p, %cst860    %2:_(p0) = G_FREEZE %1861    $x0 = COPY %2(p0)862    RET_ReallyLR implicit $x0863...864---865name:            freeze_saddo_fold_barrier866body:             |867  bb.1:868    liveins: $w0869 870    ; CHECK-LABEL: name: freeze_saddo_fold_barrier871    ; CHECK: liveins: $w0872    ; CHECK-NEXT: {{  $}}873    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9874    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst875    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst876    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD %c, %d877    ; CHECK-NEXT: $x0 = COPY [[ADD]](s64)878    ; CHECK-NEXT: RET_ReallyLR implicit $x0879    %0:_(s64) = COPY $x0880    %cst:_(s64) = G_CONSTANT i64 9881    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst882    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst883    %1:_(s64), %o:_(s1) = G_SADDO %c, %d884    %2:_(s64) = G_FREEZE %1885    $x0 = COPY %2(s64)886    RET_ReallyLR implicit $x0887...888---889name:            freeze_ssubo_fold_barrier890body:             |891  bb.1:892    liveins: $w0893 894    ; CHECK-LABEL: name: freeze_ssubo_fold_barrier895    ; CHECK: liveins: $w0896    ; CHECK-NEXT: {{  $}}897    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9898    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst899    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst900    ; CHECK-NEXT: %4:_(s64), %o:_(s1) = G_SSUBO %c, %d901    ; CHECK-NEXT: $x0 = COPY %4(s64)902    ; CHECK-NEXT: RET_ReallyLR implicit $x0903    %0:_(s64) = COPY $x0904    %cst:_(s64) = G_CONSTANT i64 9905    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst906    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst907    %1:_(s64), %o:_(s1) = G_SSUBO %c, %d908    %2:_(s64) = G_FREEZE %1909    $x0 = COPY %2(s64)910    RET_ReallyLR implicit $x0911...912---913name:            freeze_uaddo_fold_barrier914body:             |915  bb.1:916    liveins: $w0917 918    ; CHECK-LABEL: name: freeze_uaddo_fold_barrier919    ; CHECK: liveins: $w0920    ; CHECK-NEXT: {{  $}}921    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9922    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst923    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst924    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD %c, %d925    ; CHECK-NEXT: $x0 = COPY [[ADD]](s64)926    ; CHECK-NEXT: RET_ReallyLR implicit $x0927    %0:_(s64) = COPY $x0928    %cst:_(s64) = G_CONSTANT i64 9929    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst930    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst931    %1:_(s64), %o:_(s1) = G_UADDO %c, %d932    %2:_(s64) = G_FREEZE %1933    $x0 = COPY %2(s64)934    RET_ReallyLR implicit $x0935...936---937name:            freeze_usubo_fold_barrier938body:             |939  bb.1:940    liveins: $w0941 942    ; CHECK-LABEL: name: freeze_usubo_fold_barrier943    ; CHECK: liveins: $w0944    ; CHECK-NEXT: {{  $}}945    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9946    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst947    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst948    ; CHECK-NEXT: %4:_(s64), %o:_(s1) = G_USUBO %c, %d949    ; CHECK-NEXT: $x0 = COPY %4(s64)950    ; CHECK-NEXT: RET_ReallyLR implicit $x0951    %0:_(s64) = COPY $x0952    %cst:_(s64) = G_CONSTANT i64 9953    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst954    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst955    %1:_(s64), %o:_(s1) = G_USUBO %c, %d956    %2:_(s64) = G_FREEZE %1957    $x0 = COPY %2(s64)958    RET_ReallyLR implicit $x0959...960---961name:            freeze_smulo_fold_barrier962body:             |963  bb.1:964    liveins: $w0965 966    ; CHECK-LABEL: name: freeze_smulo_fold_barrier967    ; CHECK: liveins: $w0968    ; CHECK-NEXT: {{  $}}969    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9970    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst971    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst972    ; CHECK-NEXT: %4:_(s64), %o:_(s1) = G_SMULO %c, %d973    ; CHECK-NEXT: $x0 = COPY %4(s64)974    ; CHECK-NEXT: RET_ReallyLR implicit $x0975    %0:_(s64) = COPY $x0976    %cst:_(s64) = G_CONSTANT i64 9977    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst978    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst979    %1:_(s64), %o:_(s1) = G_SMULO %c, %d980    %2:_(s64) = G_FREEZE %1981    $x0 = COPY %2(s64)982    RET_ReallyLR implicit $x0983...984---985name:            freeze_umulo_fold_barrier986body:             |987  bb.1:988    liveins: $w0989 990    ; CHECK-LABEL: name: freeze_umulo_fold_barrier991    ; CHECK: liveins: $w0992    ; CHECK-NEXT: {{  $}}993    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 9994    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst995    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst996    ; CHECK-NEXT: %4:_(s64), %o:_(s1) = G_UMULO %c, %d997    ; CHECK-NEXT: $x0 = COPY %4(s64)998    ; CHECK-NEXT: RET_ReallyLR implicit $x0999    %0:_(s64) = COPY $x01000    %cst:_(s64) = G_CONSTANT i64 91001    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1002    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1003    %1:_(s64), %o:_(s1) = G_UMULO %c, %d1004    %2:_(s64) = G_FREEZE %11005    $x0 = COPY %2(s64)1006    RET_ReallyLR implicit $x01007...1008---1009name:            freeze_saddsat_fold_barrier1010body:             |1011  bb.1:1012    liveins: $w01013 1014    ; CHECK-LABEL: name: freeze_saddsat_fold_barrier1015    ; CHECK: liveins: $w01016    ; CHECK-NEXT: {{  $}}1017    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91018    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1019    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1020    ; CHECK-NEXT: [[SADDSAT:%[0-9]+]]:_(s64) = G_SADDSAT %c, %d1021    ; CHECK-NEXT: $x0 = COPY [[SADDSAT]](s64)1022    ; CHECK-NEXT: RET_ReallyLR implicit $x01023    %0:_(s64) = COPY $x01024    %cst:_(s64) = G_CONSTANT i64 91025    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1026    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1027    %1:_(s64) = G_SADDSAT %c, %d1028    %2:_(s64) = G_FREEZE %11029    $x0 = COPY %2(s64)1030    RET_ReallyLR implicit $x01031...1032---1033name:            freeze_uaddsat_fold_barrier1034body:             |1035  bb.1:1036    liveins: $w01037 1038    ; CHECK-LABEL: name: freeze_uaddsat_fold_barrier1039    ; CHECK: liveins: $w01040    ; CHECK-NEXT: {{  $}}1041    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91042    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1043    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1044    ; CHECK-NEXT: [[UADDSAT:%[0-9]+]]:_(s64) = G_UADDSAT %c, %d1045    ; CHECK-NEXT: $x0 = COPY [[UADDSAT]](s64)1046    ; CHECK-NEXT: RET_ReallyLR implicit $x01047    %0:_(s64) = COPY $x01048    %cst:_(s64) = G_CONSTANT i64 91049    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1050    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1051    %1:_(s64) = G_UADDSAT %c, %d1052    %2:_(s64) = G_FREEZE %11053    $x0 = COPY %2(s64)1054    RET_ReallyLR implicit $x01055...1056---1057name:            freeze_ssubsat_fold_barrier1058body:             |1059  bb.1:1060    liveins: $w01061 1062    ; CHECK-LABEL: name: freeze_ssubsat_fold_barrier1063    ; CHECK: liveins: $w01064    ; CHECK-NEXT: {{  $}}1065    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91066    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1067    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1068    ; CHECK-NEXT: [[SSUBSAT:%[0-9]+]]:_(s64) = G_SSUBSAT %c, %d1069    ; CHECK-NEXT: $x0 = COPY [[SSUBSAT]](s64)1070    ; CHECK-NEXT: RET_ReallyLR implicit $x01071    %0:_(s64) = COPY $x01072    %cst:_(s64) = G_CONSTANT i64 91073    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1074    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1075    %1:_(s64) = G_SSUBSAT %c, %d1076    %2:_(s64) = G_FREEZE %11077    $x0 = COPY %2(s64)1078    RET_ReallyLR implicit $x01079...1080---1081name:            freeze_usubsat_fold_barrier1082body:             |1083  bb.1:1084    liveins: $w01085 1086    ; CHECK-LABEL: name: freeze_usubsat_fold_barrier1087    ; CHECK: liveins: $w01088    ; CHECK-NEXT: {{  $}}1089    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91090    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1091    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1092    ; CHECK-NEXT: [[USUBSAT:%[0-9]+]]:_(s64) = G_USUBSAT %c, %d1093    ; CHECK-NEXT: $x0 = COPY [[USUBSAT]](s64)1094    ; CHECK-NEXT: RET_ReallyLR implicit $x01095    %0:_(s64) = COPY $x01096    %cst:_(s64) = G_CONSTANT i64 91097    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1098    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1099    %1:_(s64) = G_USUBSAT %c, %d1100    %2:_(s64) = G_FREEZE %11101    $x0 = COPY %2(s64)1102    RET_ReallyLR implicit $x01103...1104---1105name:            freeze_sshlsat_fold_barrier1106body:             |1107  bb.1:1108    liveins: $w01109 1110    ; CHECK-LABEL: name: freeze_sshlsat_fold_barrier1111    ; CHECK: liveins: $w01112    ; CHECK-NEXT: {{  $}}1113    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91114    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1115    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1116    ; CHECK-NEXT: [[SSHLSAT:%[0-9]+]]:_(s64) = G_SSHLSAT %c, %d(s64)1117    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[SSHLSAT]]1118    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)1119    ; CHECK-NEXT: RET_ReallyLR implicit $x01120    %0:_(s64) = COPY $x01121    %cst:_(s64) = G_CONSTANT i64 91122    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1123    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1124    %1:_(s64) = G_SSHLSAT %c, %d1125    %2:_(s64) = G_FREEZE %11126    $x0 = COPY %2(s64)1127    RET_ReallyLR implicit $x01128...1129---1130name:            freeze_ushlsat_fold_barrier1131body:             |1132  bb.1:1133    liveins: $w01134 1135    ; CHECK-LABEL: name: freeze_ushlsat_fold_barrier1136    ; CHECK: liveins: $w01137    ; CHECK-NEXT: {{  $}}1138    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91139    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1140    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1141    ; CHECK-NEXT: [[USHLSAT:%[0-9]+]]:_(s64) = G_USHLSAT %c, %d(s64)1142    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[USHLSAT]]1143    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)1144    ; CHECK-NEXT: RET_ReallyLR implicit $x01145    %0:_(s64) = COPY $x01146    %cst:_(s64) = G_CONSTANT i64 91147    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1148    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1149    %1:_(s64) = G_USHLSAT %c, %d1150    %2:_(s64) = G_FREEZE %11151    $x0 = COPY %2(s64)1152    RET_ReallyLR implicit $x01153...1154---1155name:            freeze_fneg_fold_barrier1156body:             |1157  bb.1:1158    liveins: $w01159 1160    ; CHECK-LABEL: name: freeze_fneg_fold_barrier1161    ; CHECK: liveins: $w01162    ; CHECK-NEXT: {{  $}}1163    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001164    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1165    ; CHECK-NEXT: [[FNEG:%[0-9]+]]:_(s64) = G_FNEG %c1166    ; CHECK-NEXT: $x0 = COPY [[FNEG]](s64)1167    ; CHECK-NEXT: RET_ReallyLR implicit $x01168    %0:_(s64) = COPY $x01169    %cst:_(s64) = G_FCONSTANT double 0.01170    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1171    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1172    %1:_(s64) = G_FNEG %c1173    %2:_(s64) = G_FREEZE %11174    $x0 = COPY %2(s64)1175    RET_ReallyLR implicit $x01176...1177---1178name:            freeze_frem_fold_barrier1179body:             |1180  bb.1:1181    liveins: $w01182 1183    ; CHECK-LABEL: name: freeze_frem_fold_barrier1184    ; CHECK: liveins: $w01185    ; CHECK-NEXT: {{  $}}1186    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001187    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1188    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1189    ; CHECK-NEXT: [[FREM:%[0-9]+]]:_(s64) = G_FREM %c, %d1190    ; CHECK-NEXT: $x0 = COPY [[FREM]](s64)1191    ; CHECK-NEXT: RET_ReallyLR implicit $x01192    %0:_(s64) = COPY $x01193    %cst:_(s64) = G_FCONSTANT double 0.01194    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1195    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1196    %1:_(s64) = G_FREM %c, %d1197    %2:_(s64) = G_FREEZE %11198    $x0 = COPY %2(s64)1199    RET_ReallyLR implicit $x01200...1201---1202name:            freeze_fdiv_fold_barrier1203body:             |1204  bb.1:1205    liveins: $w01206 1207    ; CHECK-LABEL: name: freeze_fdiv_fold_barrier1208    ; CHECK: liveins: $w01209    ; CHECK-NEXT: {{  $}}1210    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001211    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1212    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1213    ; CHECK-NEXT: [[FDIV:%[0-9]+]]:_(s64) = G_FDIV %c, %d1214    ; CHECK-NEXT: $x0 = COPY [[FDIV]](s64)1215    ; CHECK-NEXT: RET_ReallyLR implicit $x01216    %0:_(s64) = COPY $x01217    %cst:_(s64) = G_FCONSTANT double 0.01218    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1219    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1220    %1:_(s64) = G_FDIV %c, %d1221    %2:_(s64) = G_FREEZE %11222    $x0 = COPY %2(s64)1223    RET_ReallyLR implicit $x01224...1225---1226name:            freeze_fmul_fold_barrier1227body:             |1228  bb.1:1229    liveins: $w01230 1231    ; CHECK-LABEL: name: freeze_fmul_fold_barrier1232    ; CHECK: liveins: $w01233    ; CHECK-NEXT: {{  $}}1234    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001235    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1236    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1237    ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s64) = G_FMUL %c, %d1238    ; CHECK-NEXT: $x0 = COPY [[FMUL]](s64)1239    ; CHECK-NEXT: RET_ReallyLR implicit $x01240    %0:_(s64) = COPY $x01241    %cst:_(s64) = G_FCONSTANT double 0.01242    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1243    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1244    %1:_(s64) = G_FMUL %c, %d1245    %2:_(s64) = G_FREEZE %11246    $x0 = COPY %2(s64)1247    RET_ReallyLR implicit $x01248...1249---1250name:            freeze_fsub_fold_barrier1251body:             |1252  bb.1:1253    liveins: $w01254 1255    ; CHECK-LABEL: name: freeze_fsub_fold_barrier1256    ; CHECK: liveins: $w01257    ; CHECK-NEXT: {{  $}}1258    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001259    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1260    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1261    ; CHECK-NEXT: [[FSUB:%[0-9]+]]:_(s64) = G_FSUB %c, %d1262    ; CHECK-NEXT: $x0 = COPY [[FSUB]](s64)1263    ; CHECK-NEXT: RET_ReallyLR implicit $x01264    %0:_(s64) = COPY $x01265    %cst:_(s64) = G_FCONSTANT double 0.01266    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1267    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1268    %1:_(s64) = G_FSUB %c, %d1269    %2:_(s64) = G_FREEZE %11270    $x0 = COPY %2(s64)1271    RET_ReallyLR implicit $x01272...1273---1274name:            freeze_fadd_fold_barrier1275body:             |1276  bb.1:1277    liveins: $w01278 1279    ; CHECK-LABEL: name: freeze_fadd_fold_barrier1280    ; CHECK: liveins: $w01281    ; CHECK-NEXT: {{  $}}1282    ; CHECK-NEXT: %cst:_(s64) = G_FCONSTANT double 0.000000e+001283    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1284    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1285    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s64) = G_FADD %c, %d1286    ; CHECK-NEXT: $x0 = COPY [[FADD]](s64)1287    ; CHECK-NEXT: RET_ReallyLR implicit $x01288    %0:_(s64) = COPY $x01289    %cst:_(s64) = G_FCONSTANT double 0.01290    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1291    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1292    %1:_(s64) = G_FADD %c, %d1293    %2:_(s64) = G_FREEZE %11294    $x0 = COPY %2(s64)1295    RET_ReallyLR implicit $x01296...1297---1298name:            freeze_urem_fold_barrier1299body:             |1300  bb.1:1301    liveins: $w01302 1303    ; CHECK-LABEL: name: freeze_urem_fold_barrier1304    ; CHECK: liveins: $w01305    ; CHECK-NEXT: {{  $}}1306    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91307    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1308    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1309    ; CHECK-NEXT: [[UREM:%[0-9]+]]:_(s64) = G_UREM %c, %d1310    ; CHECK-NEXT: $x0 = COPY [[UREM]](s64)1311    ; CHECK-NEXT: RET_ReallyLR implicit $x01312    %0:_(s64) = COPY $x01313    %cst:_(s64) = G_CONSTANT i64 91314    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1315    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1316    %1:_(s64) = G_UREM %c, %d1317    %2:_(s64) = G_FREEZE %11318    $x0 = COPY %2(s64)1319    RET_ReallyLR implicit $x01320...1321---1322name:            freeze_srem_fold_barrier1323body:             |1324  bb.1:1325    liveins: $w01326 1327    ; CHECK-LABEL: name: freeze_srem_fold_barrier1328    ; CHECK: liveins: $w01329    ; CHECK-NEXT: {{  $}}1330    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91331    ; CHECK-NEXT: %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1332    ; CHECK-NEXT: %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1333    ; CHECK-NEXT: [[SREM:%[0-9]+]]:_(s64) = G_SREM %c, %d1334    ; CHECK-NEXT: $x0 = COPY [[SREM]](s64)1335    ; CHECK-NEXT: RET_ReallyLR implicit $x01336    %0:_(s64) = COPY $x01337    %cst:_(s64) = G_CONSTANT i64 91338    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1339    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1340    %1:_(s64) = G_SREM %c, %d1341    %2:_(s64) = G_FREEZE %11342    $x0 = COPY %2(s64)1343    RET_ReallyLR implicit $x01344...1345---1346name:            freeze_ptradd_fold_barrier1347body:             |1348  bb.1:1349    liveins: $w01350 1351    ; CHECK-LABEL: name: freeze_ptradd_fold_barrier1352    ; CHECK: liveins: $w01353    ; CHECK-NEXT: {{  $}}1354    ; CHECK-NEXT: %p:_(p0) = COPY $x01355    ; CHECK-NEXT: %cst:_(s64) = G_CONSTANT i64 91356    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(p0) = G_FREEZE %p1357    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[FREEZE]], %cst(s64)1358    ; CHECK-NEXT: $x0 = COPY [[PTR_ADD]](p0)1359    ; CHECK-NEXT: RET_ReallyLR implicit $x01360    %0:_(s64) = COPY $x01361    %p:_(p0) = COPY $x01362    %cst:_(s64) = G_CONSTANT i64 91363    %c:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1364    %d:_(s64) = G_CONSTANT_FOLD_BARRIER %cst1365    %1:_(p0) = G_PTR_ADD %p, %cst1366    %2:_(p0) = G_FREEZE %11367    $x0 = COPY %2(p0)1368    RET_ReallyLR implicit $x01369...1370---1371# select (false, x, y) -> y1372name:            freeze_select_fold_barrier1373body:             |1374  bb.1:1375    liveins: $x0, $x11376    ; CHECK-LABEL: name: freeze_select_fold_barrier1377    ; CHECK: liveins: $x0, $x11378    ; CHECK-NEXT: {{  $}}1379    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x11380    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[COPY]]1381    ; CHECK-NEXT: $x0 = COPY [[FREEZE]](s64)1382    %0:_(s64) = COPY $x01383    %1:_(s64) = COPY $x11384    %2:_(s1) = G_CONSTANT i1 false1385    %3:_(s64) = G_SELECT %2, %0, %11386    %4:_(s64) = G_FREEZE %31387    $x0 = COPY %4(s64)1388...1389---1390name:            freeze_extract_and_shuffle_vector_fold_barrier1391body:             |1392  bb.1:1393    liveins: $x0, $x11394    ; CHECK-LABEL: name: freeze_extract_and_shuffle_vector_fold_barrier1395    ; CHECK: liveins: $x0, $x11396    ; CHECK-NEXT: {{  $}}1397    ; CHECK-NEXT: %arg1:_(<4 x s32>) = COPY $q01398    ; CHECK-NEXT: %idx:_(s64) = G_CONSTANT i64 01399    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<4 x s32>) = G_IMPLICIT_DEF1400    ; CHECK-NEXT: %sv:_(<4 x s32>) = G_SHUFFLE_VECTOR %arg1(<4 x s32>), [[DEF]], shufflemask(3, 0, 0, 0)1401    ; CHECK-NEXT: %freeze_sv:_(<4 x s32>) = G_FREEZE %sv1402    ; CHECK-NEXT: %extract:_(s32) = G_EXTRACT_VECTOR_ELT %freeze_sv(<4 x s32>), %idx(s64)1403    ; CHECK-NEXT: $w0 = COPY %extract(s32)1404    ; CHECK-NEXT: RET_ReallyLR implicit $x01405    %arg1:_(<4 x s32>) = COPY $q01406    %arg2:_(<4 x s32>) = COPY $q11407    %idx:_(s64) = G_CONSTANT i64 01408    %sv:_(<4 x s32>) = G_SHUFFLE_VECTOR %arg1(<4 x s32>), %arg2(<4 x s32>), shufflemask(3, 0, 0, 0)1409    %freeze_sv:_(<4 x s32>) = G_FREEZE %sv1410    %extract:_(s32) = G_EXTRACT_VECTOR_ELT %freeze_sv(<4 x s32>), %idx(s64)1411    %freeze:_(s32) = G_FREEZE %extract1412    $w0 = COPY %extract(s32)1413    RET_ReallyLR implicit $x01414...1415---1416name:            freeze_insert_and_shuffle_vector_fold_barrier1417body:             |1418  bb.1:1419    liveins: $x0, $x11420    ; CHECK-LABEL: name: freeze_insert_and_shuffle_vector_fold_barrier1421    ; CHECK: liveins: $x0, $x11422    ; CHECK-NEXT: {{  $}}1423    ; CHECK-NEXT: %elt:_(s32) = COPY $w01424    ; CHECK-NEXT: %arg1:_(<4 x s32>) = COPY $q01425    ; CHECK-NEXT: %idx:_(s64) = G_CONSTANT i64 01426    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<4 x s32>) = G_IMPLICIT_DEF1427    ; CHECK-NEXT: %sv:_(<4 x s32>) = G_SHUFFLE_VECTOR %arg1(<4 x s32>), [[DEF]], shufflemask(3, 0, 0, 0)1428    ; CHECK-NEXT: %freeze_sv:_(<4 x s32>) = G_FREEZE %sv1429    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s32) = G_FREEZE %elt1430    ; CHECK-NEXT: %extract:_(<4 x s32>) = G_INSERT_VECTOR_ELT %freeze_sv, [[FREEZE]](s32), %idx(s64)1431    ; CHECK-NEXT: $q0 = COPY %extract(<4 x s32>)1432    ; CHECK-NEXT: RET_ReallyLR implicit $x01433    %elt:_(s32) = COPY $w01434    %arg1:_(<4 x s32>) = COPY $q01435    %arg2:_(<4 x s32>) = COPY $q11436    %idx:_(s64) = G_CONSTANT i64 01437    %sv:_(<4 x s32>) = G_SHUFFLE_VECTOR %arg1(<4 x s32>), %arg2(<4 x s32>), shufflemask(3, 0, 0, 0)1438    %freeze_sv:_(<4 x s32>) = G_FREEZE %sv1439    %extract:_(<4 x s32>) = G_INSERT_VECTOR_ELT %freeze_sv(<4 x s32>), %elt(s32), %idx(s64)1440    %freeze:_(<4 x s32>) = G_FREEZE %extract1441    $q0 = COPY %freeze(<4 x s32>)1442    RET_ReallyLR implicit $x01443...1444---1445name:            ubfx_does_not_generate_poison1446body:             |1447  bb.1:1448    liveins: $w01449 1450    ; CHECK-LABEL: name: ubfx_does_not_generate_poison1451    ; CHECK: liveins: $w01452    ; CHECK-NEXT: {{  $}}1453    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x01454    ; CHECK-NEXT: %c1:_(s64) = G_CONSTANT i64 11455    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[COPY]]1456    ; CHECK-NEXT: [[UBFX:%[0-9]+]]:_(s64) = G_UBFX [[FREEZE]], %c1(s64), %c11457    ; CHECK-NEXT: $x0 = COPY [[UBFX]](s64)1458    ; CHECK-NEXT: RET_ReallyLR implicit $x01459    %0:_(s64) = COPY $x01460    %c1:_(s64) = G_CONSTANT i64 11461    %1:_(s64) = G_UBFX %0, %c1, %c11462    %2:_(s64) = G_FREEZE %11463    $x0 = COPY %2(s64)1464    RET_ReallyLR implicit $x01465 1466...1467---1468name:            sbfx_does_not_generate_poison1469body:             |1470  bb.1:1471    liveins: $w01472 1473    ; CHECK-LABEL: name: sbfx_does_not_generate_poison1474    ; CHECK: liveins: $w01475    ; CHECK-NEXT: {{  $}}1476    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x01477    ; CHECK-NEXT: %c1:_(s64) = G_CONSTANT i64 11478    ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[COPY]]1479    ; CHECK-NEXT: [[SBFX:%[0-9]+]]:_(s64) = G_SBFX [[FREEZE]], %c1(s64), %c11480    ; CHECK-NEXT: $x0 = COPY [[SBFX]](s64)1481    ; CHECK-NEXT: RET_ReallyLR implicit $x01482    %0:_(s64) = COPY $x01483    %c1:_(s64) = G_CONSTANT i64 11484    %1:_(s64) = G_SBFX %0, %c1, %c11485    %2:_(s64) = G_FREEZE %11486    $x0 = COPY %2(s64)1487    RET_ReallyLR implicit $x01488 1489...1490