215 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -run-pass=instruction-select %s -o - \3# RUN: -disable-gisel-legality-check | FileCheck %s4#5---6name: store_i87legalized: true8regBankSelected: true9tracksRegLiveness: true10body: |11 bb.0:12 liveins: $x10, $x11, $x1113 14 ; CHECK-LABEL: name: store_i815 ; CHECK: liveins: $x10, $x11, $x1116 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1018 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1119 ; CHECK-NEXT: SB [[COPY]], [[COPY1]], 0 :: (store (s8))20 ; CHECK-NEXT: PseudoRET21 %0:gprb(s32) = COPY $x1022 %1:gprb(p0) = COPY $x1123 G_STORE %0(s32), %1(p0) :: (store (s8))24 PseudoRET25 26...27---28name: store_i1629legalized: true30regBankSelected: true31tracksRegLiveness: true32body: |33 bb.0:34 liveins: $x10, $x1135 36 ; CHECK-LABEL: name: store_i1637 ; CHECK: liveins: $x10, $x1138 ; CHECK-NEXT: {{ $}}39 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1040 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1141 ; CHECK-NEXT: SH [[COPY]], [[COPY1]], 0 :: (store (s16))42 ; CHECK-NEXT: PseudoRET43 %0:gprb(s32) = COPY $x1044 %1:gprb(p0) = COPY $x1145 G_STORE %0(s32), %1(p0) :: (store (s16))46 PseudoRET47 48...49---50name: store_i8_i1651legalized: true52regBankSelected: true53tracksRegLiveness: true54body: |55 bb.0:56 liveins: $x10, $x1157 58 ; CHECK-LABEL: name: store_i8_i1659 ; CHECK: liveins: $x10, $x1160 ; CHECK-NEXT: {{ $}}61 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1062 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1163 ; CHECK-NEXT: SB [[COPY]], [[COPY1]], 0 :: (store (s8))64 ; CHECK-NEXT: PseudoRET65 %0:gprb(s32) = COPY $x1066 %1:gprb(p0) = COPY $x1167 %2:gprb(s16) = G_TRUNC %068 G_STORE %2(s16), %1(p0) :: (store (s8))69 PseudoRET70 71...72---73name: store_i16_i1674legalized: true75regBankSelected: true76tracksRegLiveness: true77body: |78 bb.0:79 liveins: $x10, $x1180 81 ; CHECK-LABEL: name: store_i16_i1682 ; CHECK: liveins: $x10, $x1183 ; CHECK-NEXT: {{ $}}84 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1085 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1186 ; CHECK-NEXT: SH [[COPY]], [[COPY1]], 0 :: (store (s16))87 ; CHECK-NEXT: PseudoRET88 %0:gprb(s32) = COPY $x1089 %1:gprb(p0) = COPY $x1190 %2:gprb(s16) = G_TRUNC %091 G_STORE %2(s16), %1(p0) :: (store (s16))92 PseudoRET93 94...95---96name: store_i3297legalized: true98regBankSelected: true99tracksRegLiveness: true100body: |101 bb.0:102 liveins: $x10, $x11103 104 ; CHECK-LABEL: name: store_i32105 ; CHECK: liveins: $x10, $x11106 ; CHECK-NEXT: {{ $}}107 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10108 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11109 ; CHECK-NEXT: SW [[COPY]], [[COPY1]], 0 :: (store (s32))110 ; CHECK-NEXT: PseudoRET111 %0:gprb(s32) = COPY $x10112 %1:gprb(p0) = COPY $x11113 G_STORE %0(s32), %1(p0) :: (store (s32))114 PseudoRET115 116...117---118name: store_p0119legalized: true120regBankSelected: true121tracksRegLiveness: true122body: |123 bb.0:124 liveins: $x10, $x11125 126 ; CHECK-LABEL: name: store_p0127 ; CHECK: liveins: $x10, $x11128 ; CHECK-NEXT: {{ $}}129 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10130 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11131 ; CHECK-NEXT: SW [[COPY]], [[COPY1]], 0 :: (store (p0))132 ; CHECK-NEXT: PseudoRET133 %0:gprb(p0) = COPY $x10134 %1:gprb(p0) = COPY $x11135 G_STORE %0(p0), %1(p0) :: (store (p0))136 PseudoRET137 138...139---140name: store_fi_i32141legalized: true142regBankSelected: true143tracksRegLiveness: true144 145stack:146 - { id: 0, offset: 0, size: 4, alignment: 4 }147 148body: |149 bb.0:150 liveins: $x10151 152 ; CHECK-LABEL: name: store_fi_i32153 ; CHECK: liveins: $x10154 ; CHECK-NEXT: {{ $}}155 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10156 ; CHECK-NEXT: SW [[COPY]], %stack.0, 0 :: (store (s32))157 ; CHECK-NEXT: PseudoRET158 %0:gprb(s32) = COPY $x10159 %1:gprb(p0) = G_FRAME_INDEX %stack.0160 G_STORE %0(s32), %1(p0) :: (store (s32))161 PseudoRET162 163...164---165name: store_fi_gep_i32166legalized: true167regBankSelected: true168tracksRegLiveness: true169 170stack:171 - { id: 0, offset: 0, size: 8, alignment: 4 }172 173body: |174 bb.0:175 liveins: $x10176 177 ; CHECK-LABEL: name: store_fi_gep_i32178 ; CHECK: liveins: $x10179 ; CHECK-NEXT: {{ $}}180 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10181 ; CHECK-NEXT: SW [[COPY]], %stack.0, 4 :: (store (s32))182 ; CHECK-NEXT: PseudoRET183 %0:gprb(s32) = COPY $x10184 %1:gprb(p0) = G_FRAME_INDEX %stack.0185 %2:gprb(s32) = G_CONSTANT i32 4186 %3:gprb(p0) = G_PTR_ADD %1(p0), %2(s32)187 G_STORE %0(s32), %3(p0) :: (store (s32))188 PseudoRET189 190...191---192name: store_gep_i32193legalized: true194regBankSelected: true195tracksRegLiveness: true196body: |197 bb.0:198 liveins: $x10, $x11199 200 ; CHECK-LABEL: name: store_gep_i32201 ; CHECK: liveins: $x10, $x11202 ; CHECK-NEXT: {{ $}}203 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10204 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11205 ; CHECK-NEXT: SW [[COPY]], [[COPY1]], 4 :: (store (s32))206 ; CHECK-NEXT: PseudoRET207 %0:gprb(s32) = COPY $x10208 %1:gprb(p0) = COPY $x11209 %2:gprb(s32) = G_CONSTANT i32 4210 %3:gprb(p0) = G_PTR_ADD %1(p0), %2(s32)211 G_STORE %0(s32), %3(p0) :: (store (s32))212 PseudoRET213 214...215