brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.1 KiB · 7c1ede0 Raw
462 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=legalizer %s -o - \3# RUN:   | FileCheck %s4# RUN: llc -mtriple=riscv64 -mattr=+unaligned-scalar-mem -run-pass=legalizer %s -o - \5# RUN:   | FileCheck %s --check-prefix=UNALIGNED6 7---8name:            store_i89alignment:       410tracksRegLiveness: true11registers:12  - { id: 0, class: _ }13  - { id: 1, class: _ }14  - { id: 2, class: _ }15frameInfo:16  maxAlignment:    117machineFunctionInfo:18  varArgsFrameIndex: 019  varArgsSaveSize: 020body:             |21  bb.1:22    liveins: $x10, $x1123 24    ; CHECK-LABEL: name: store_i825    ; CHECK: liveins: $x10, $x1126    ; CHECK-NEXT: {{  $}}27    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1028    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x1129    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)30    ; CHECK-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s8))31    ; CHECK-NEXT: PseudoRET32    ;33    ; UNALIGNED-LABEL: name: store_i834    ; UNALIGNED: liveins: $x10, $x1135    ; UNALIGNED-NEXT: {{  $}}36    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1037    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x1138    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)39    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s8))40    ; UNALIGNED-NEXT: PseudoRET41    %2:_(s64) = COPY $x1042    %0:_(s8) = G_TRUNC %2(s64)43    %1:_(p0) = COPY $x1144    G_STORE %0(s8), %1(p0) :: (store (s8))45    PseudoRET46 47...48---49name:            store_i1650alignment:       451tracksRegLiveness: true52registers:53  - { id: 0, class: _ }54  - { id: 1, class: _ }55  - { id: 2, class: _ }56frameInfo:57  maxAlignment:    158machineFunctionInfo:59  varArgsFrameIndex: 060  varArgsSaveSize: 061body:             |62  bb.1:63    liveins: $x10, $x1164 65    ; CHECK-LABEL: name: store_i1666    ; CHECK: liveins: $x10, $x1167    ; CHECK-NEXT: {{  $}}68    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1069    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)70    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x1171    ; CHECK-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s16))72    ; CHECK-NEXT: PseudoRET73    ;74    ; UNALIGNED-LABEL: name: store_i1675    ; UNALIGNED: liveins: $x10, $x1176    ; UNALIGNED-NEXT: {{  $}}77    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1078    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)79    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x1180    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s16))81    ; UNALIGNED-NEXT: PseudoRET82    %2:_(s64) = COPY $x1083    %0:_(s16) = G_TRUNC %2(s64)84    %1:_(p0) = COPY $x1185    G_STORE %0(s16), %1(p0) :: (store (s16))86    PseudoRET87 88...89---90name:            store_i3291alignment:       492tracksRegLiveness: true93registers:94  - { id: 0, class: _ }95  - { id: 1, class: _ }96  - { id: 2, class: _ }97frameInfo:98  maxAlignment:    199machineFunctionInfo:100  varArgsFrameIndex: 0101  varArgsSaveSize: 0102body:             |103  bb.1:104    liveins: $x10, $x11105 106    ; CHECK-LABEL: name: store_i32107    ; CHECK: liveins: $x10, $x11108    ; CHECK-NEXT: {{  $}}109    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10110    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)111    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11112    ; CHECK-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s32))113    ; CHECK-NEXT: PseudoRET114    ;115    ; UNALIGNED-LABEL: name: store_i32116    ; UNALIGNED: liveins: $x10, $x11117    ; UNALIGNED-NEXT: {{  $}}118    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10119    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)120    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11121    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s32))122    ; UNALIGNED-NEXT: PseudoRET123    %2:_(s64) = COPY $x10124    %0:_(s32) = G_TRUNC %2(s64)125    %1:_(p0) = COPY $x11126    G_STORE %0(s32), %1(p0) :: (store (s32))127    PseudoRET128 129...130---131name:            store_i64132alignment:       4133tracksRegLiveness: true134registers:135  - { id: 0, class: _ }136  - { id: 1, class: _ }137frameInfo:138  maxAlignment:    1139machineFunctionInfo:140  varArgsFrameIndex: 0141  varArgsSaveSize: 0142body:             |143  bb.1:144    liveins: $x10, $x11145 146    ; CHECK-LABEL: name: store_i64147    ; CHECK: liveins: $x10, $x11148    ; CHECK-NEXT: {{  $}}149    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10150    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11151    ; CHECK-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64))152    ; CHECK-NEXT: PseudoRET153    ;154    ; UNALIGNED-LABEL: name: store_i64155    ; UNALIGNED: liveins: $x10, $x11156    ; UNALIGNED-NEXT: {{  $}}157    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10158    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11159    ; UNALIGNED-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64))160    ; UNALIGNED-NEXT: PseudoRET161    %0:_(s64) = COPY $x10162    %1:_(p0) = COPY $x11163    G_STORE %0(s64), %1(p0) :: (store (s64))164    PseudoRET165 166...167---168name:            store_i128169alignment:       4170tracksRegLiveness: true171registers:172  - { id: 0, class: _ }173  - { id: 1, class: _ }174frameInfo:175  maxAlignment:    1176machineFunctionInfo:177  varArgsFrameIndex: 0178  varArgsSaveSize: 0179body:             |180  bb.1:181    liveins: $x10, $x11182 183    ; CHECK-LABEL: name: store_i128184    ; CHECK: liveins: $x10, $x11185    ; CHECK-NEXT: {{  $}}186    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10187    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11188    ; CHECK-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64))189    ; CHECK-NEXT: PseudoRET190    ;191    ; UNALIGNED-LABEL: name: store_i128192    ; UNALIGNED: liveins: $x10, $x11193    ; UNALIGNED-NEXT: {{  $}}194    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10195    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11196    ; UNALIGNED-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64))197    ; UNALIGNED-NEXT: PseudoRET198    %0:_(s64) = COPY $x10199    %1:_(p0) = COPY $x11200    G_STORE %0(s64), %1(p0) :: (store (s64))201    PseudoRET202 203...204---205name:            store_ptr206alignment:       4207tracksRegLiveness: true208registers:209  - { id: 0, class: _ }210  - { id: 1, class: _ }211frameInfo:212  maxAlignment:    1213machineFunctionInfo:214  varArgsFrameIndex: 0215  varArgsSaveSize: 0216body:             |217  bb.1:218    liveins: $x10, $x11219 220    ; CHECK-LABEL: name: store_ptr221    ; CHECK: liveins: $x10, $x11222    ; CHECK-NEXT: {{  $}}223    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10224    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11225    ; CHECK-NEXT: G_STORE [[COPY]](p0), [[COPY1]](p0) :: (store (p0))226    ; CHECK-NEXT: PseudoRET227    ;228    ; UNALIGNED-LABEL: name: store_ptr229    ; UNALIGNED: liveins: $x10, $x11230    ; UNALIGNED-NEXT: {{  $}}231    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10232    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11233    ; UNALIGNED-NEXT: G_STORE [[COPY]](p0), [[COPY1]](p0) :: (store (p0))234    ; UNALIGNED-NEXT: PseudoRET235    %0:_(p0) = COPY $x10236    %1:_(p0) = COPY $x11237    G_STORE %0(p0), %1(p0) :: (store (p0))238    PseudoRET239 240...241---242name:            store_i16_unaligned243alignment:       4244tracksRegLiveness: true245registers:246  - { id: 0, class: _ }247  - { id: 1, class: _ }248  - { id: 2, class: _ }249frameInfo:250  maxAlignment:    1251machineFunctionInfo:252  varArgsFrameIndex: 0253  varArgsSaveSize: 0254body:             |255  bb.1:256    liveins: $x10, $x11257 258    ; CHECK-LABEL: name: store_i16_unaligned259    ; CHECK: liveins: $x10, $x11260    ; CHECK-NEXT: {{  $}}261    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10262    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)263    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11264    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s16) = COPY [[TRUNC]](s16)265    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 8266    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535267    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C1]]268    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[C]](s64)269    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s64)270    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 1271    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C2]](s64)272    ; CHECK-NEXT: G_STORE [[COPY2]](s16), [[COPY1]](p0) :: (store (s8))273    ; CHECK-NEXT: G_STORE [[TRUNC1]](s16), [[PTR_ADD]](p0) :: (store (s8) into unknown-address + 1)274    ; CHECK-NEXT: PseudoRET275    ;276    ; UNALIGNED-LABEL: name: store_i16_unaligned277    ; UNALIGNED: liveins: $x10, $x11278    ; UNALIGNED-NEXT: {{  $}}279    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10280    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)281    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11282    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s16), align 1)283    ; UNALIGNED-NEXT: PseudoRET284    %2:_(s64) = COPY $x10285    %0:_(s16) = G_TRUNC %2(s64)286    %1:_(p0) = COPY $x11287    G_STORE %0(s16), %1(p0) :: (store (s16), align 1)288    PseudoRET289 290...291---292name:            store_i32_unaligned293alignment:       4294tracksRegLiveness: true295registers:296  - { id: 0, class: _ }297  - { id: 1, class: _ }298  - { id: 2, class: _ }299frameInfo:300  maxAlignment:    1301machineFunctionInfo:302  varArgsFrameIndex: 0303  varArgsSaveSize: 0304body:             |305  bb.1:306    liveins: $x10, $x11307 308    ; CHECK-LABEL: name: store_i32_unaligned309    ; CHECK: liveins: $x10, $x11310    ; CHECK-NEXT: {{  $}}311    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10312    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11313    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 16314    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295315    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C1]]316    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[C]](s64)317    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 2318    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C2]](s64)319    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[COPY]](s64)320    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 8321    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535322    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C4]]323    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], [[C3]](s64)324    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR1]](s64)325    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 1326    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C5]](s64)327    ; CHECK-NEXT: G_STORE [[TRUNC]](s16), [[COPY1]](p0) :: (store (s8))328    ; CHECK-NEXT: G_STORE [[TRUNC1]](s16), [[PTR_ADD1]](p0) :: (store (s8) into unknown-address + 1)329    ; CHECK-NEXT: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s64)330    ; CHECK-NEXT: [[C6:%[0-9]+]]:_(s64) = G_CONSTANT i64 8331    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND [[LSHR]], [[C4]]332    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR [[AND2]], [[C6]](s64)333    ; CHECK-NEXT: [[TRUNC3:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR2]](s64)334    ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[PTR_ADD]], [[C5]](s64)335    ; CHECK-NEXT: G_STORE [[TRUNC2]](s16), [[PTR_ADD]](p0) :: (store (s8) into unknown-address + 2)336    ; CHECK-NEXT: G_STORE [[TRUNC3]](s16), [[PTR_ADD2]](p0) :: (store (s8) into unknown-address + 3)337    ; CHECK-NEXT: PseudoRET338    ;339    ; UNALIGNED-LABEL: name: store_i32_unaligned340    ; UNALIGNED: liveins: $x10, $x11341    ; UNALIGNED-NEXT: {{  $}}342    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10343    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)344    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11345    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s32), align 1)346    ; UNALIGNED-NEXT: PseudoRET347    %2:_(s64) = COPY $x10348    %0:_(s32) = G_TRUNC %2(s64)349    %1:_(p0) = COPY $x11350    G_STORE %0(s32), %1(p0) :: (store (s32), align 1)351    PseudoRET352 353...354---355name:            store_i32_align2356alignment:       4357tracksRegLiveness: true358registers:359  - { id: 0, class: _ }360  - { id: 1, class: _ }361  - { id: 2, class: _ }362frameInfo:363  maxAlignment:    1364machineFunctionInfo:365  varArgsFrameIndex: 0366  varArgsSaveSize: 0367body:             |368  bb.1:369    liveins: $x10, $x11370 371    ; CHECK-LABEL: name: store_i32_align2372    ; CHECK: liveins: $x10, $x11373    ; CHECK-NEXT: {{  $}}374    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10375    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)376    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11377    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY [[TRUNC]](s32)378    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 16379    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295380    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C1]]381    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[C]](s64)382    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[LSHR]](s64)383    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 2384    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C2]](s64)385    ; CHECK-NEXT: G_STORE [[COPY2]](s32), [[COPY1]](p0) :: (store (s16))386    ; CHECK-NEXT: G_STORE [[TRUNC1]](s32), [[PTR_ADD]](p0) :: (store (s16) into unknown-address + 2)387    ; CHECK-NEXT: PseudoRET388    ;389    ; UNALIGNED-LABEL: name: store_i32_align2390    ; UNALIGNED: liveins: $x10, $x11391    ; UNALIGNED-NEXT: {{  $}}392    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10393    ; UNALIGNED-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY]](s64)394    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11395    ; UNALIGNED-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s32), align 2)396    ; UNALIGNED-NEXT: PseudoRET397    %2:_(s64) = COPY $x10398    %0:_(s32) = G_TRUNC %2(s64)399    %1:_(p0) = COPY $x11400    G_STORE %0(s32), %1(p0) :: (store (s32), align 2)401    PseudoRET402 403...404---405name:            store_i64_align2406alignment:       4407tracksRegLiveness: true408registers:409  - { id: 0, class: _ }410  - { id: 1, class: _ }411frameInfo:412  maxAlignment:    1413machineFunctionInfo:414  varArgsFrameIndex: 0415  varArgsSaveSize: 0416body:             |417  bb.1:418    liveins: $x10, $x11419 420    ; CHECK-LABEL: name: store_i64_align2421    ; CHECK: liveins: $x10, $x11422    ; CHECK-NEXT: {{  $}}423    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10424    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11425    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY [[COPY]](s64)426    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 32427    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[COPY2]], [[C]](s64)428    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4429    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C1]](s64)430    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[COPY2]](s64)431    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 16432    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295433    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY2]], [[C3]]434    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[C2]](s64)435    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[LSHR1]](s64)436    ; CHECK-NEXT: [[C4:%[0-9]+]]:_(s64) = G_CONSTANT i64 2437    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C4]](s64)438    ; CHECK-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s16))439    ; CHECK-NEXT: G_STORE [[TRUNC1]](s32), [[PTR_ADD1]](p0) :: (store (s16) into unknown-address + 2)440    ; CHECK-NEXT: [[TRUNC2:%[0-9]+]]:_(s32) = G_TRUNC [[LSHR]](s64)441    ; CHECK-NEXT: [[C5:%[0-9]+]]:_(s64) = G_CONSTANT i64 16442    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR [[LSHR]], [[C5]](s64)443    ; CHECK-NEXT: [[TRUNC3:%[0-9]+]]:_(s32) = G_TRUNC [[LSHR2]](s64)444    ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[PTR_ADD]], [[C4]](s64)445    ; CHECK-NEXT: G_STORE [[TRUNC2]](s32), [[PTR_ADD]](p0) :: (store (s16) into unknown-address + 4)446    ; CHECK-NEXT: G_STORE [[TRUNC3]](s32), [[PTR_ADD2]](p0) :: (store (s16) into unknown-address + 6)447    ; CHECK-NEXT: PseudoRET448    ;449    ; UNALIGNED-LABEL: name: store_i64_align2450    ; UNALIGNED: liveins: $x10, $x11451    ; UNALIGNED-NEXT: {{  $}}452    ; UNALIGNED-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10453    ; UNALIGNED-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x11454    ; UNALIGNED-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64), align 2)455    ; UNALIGNED-NEXT: PseudoRET456    %0:_(s64) = COPY $x10457    %1:_(p0) = COPY $x11458    G_STORE %0(s64), %1(p0) :: (store (s64), align 2)459    PseudoRET460 461...462