280 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 5---6name: zextload_i8_i167body: |8 bb.0:9 liveins: $x1010 11 ; CHECK-LABEL: name: zextload_i8_i1612 ; CHECK: liveins: $x1013 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1015 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))16 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)17 ; CHECK-NEXT: PseudoRET implicit $x1018 %0:_(p0) = COPY $x1019 %2:_(s16) = G_ZEXTLOAD %0(p0) :: (load (s8))20 %3:_(s64) = G_ANYEXT %2(s16)21 $x10 = COPY %3(s64)22 PseudoRET implicit $x1023 24...25---26name: zextload_i8_i3227body: |28 bb.0:29 liveins: $x1030 31 ; CHECK-LABEL: name: zextload_i8_i3232 ; CHECK: liveins: $x1033 ; CHECK-NEXT: {{ $}}34 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1035 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))36 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)37 ; CHECK-NEXT: PseudoRET implicit $x1038 %0:_(p0) = COPY $x1039 %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load (s8))40 %3:_(s64) = G_ANYEXT %2(s32)41 $x10 = COPY %3(s64)42 PseudoRET implicit $x1043 44...45---46name: zextload_i16_i3247body: |48 bb.0:49 liveins: $x1050 51 ; CHECK-LABEL: name: zextload_i16_i3252 ; CHECK: liveins: $x1053 ; CHECK-NEXT: {{ $}}54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1055 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))56 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)57 ; CHECK-NEXT: PseudoRET implicit $x1058 %0:_(p0) = COPY $x1059 %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load (s16))60 %3:_(s64) = G_ANYEXT %2(s32)61 $x10 = COPY %3(s64)62 PseudoRET implicit $x1063 64...65---66name: zextload_i8_i6467body: |68 bb.0:69 liveins: $x1070 71 ; CHECK-LABEL: name: zextload_i8_i6472 ; CHECK: liveins: $x1073 ; CHECK-NEXT: {{ $}}74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1075 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))76 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)77 ; CHECK-NEXT: PseudoRET implicit $x1078 %0:_(p0) = COPY $x1079 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s8))80 $x10 = COPY %2(s64)81 PseudoRET implicit $x1082 83...84---85name: zextload_i16_i6486body: |87 bb.0:88 liveins: $x1089 90 ; CHECK-LABEL: name: zextload_i16_i6491 ; CHECK: liveins: $x1092 ; CHECK-NEXT: {{ $}}93 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x1094 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))95 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)96 ; CHECK-NEXT: PseudoRET implicit $x1097 %0:_(p0) = COPY $x1098 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s16))99 $x10 = COPY %2(s64)100 PseudoRET implicit $x10101 102...103---104name: zextload_i32_i64105body: |106 bb.0:107 liveins: $x10108 109 ; CHECK-LABEL: name: zextload_i32_i64110 ; CHECK: liveins: $x10111 ; CHECK-NEXT: {{ $}}112 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10113 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s32))114 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)115 ; CHECK-NEXT: PseudoRET implicit $x10116 %0:_(p0) = COPY $x10117 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s32))118 $x10 = COPY %2(s64)119 PseudoRET implicit $x10120 121...122---123name: zextload_i8_i48124body: |125 bb.0:126 liveins: $x10127 128 ; CHECK-LABEL: name: zextload_i8_i48129 ; CHECK: liveins: $x10130 ; CHECK-NEXT: {{ $}}131 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10132 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))133 ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)134 ; CHECK-NEXT: PseudoRET implicit $x10135 %0:_(p0) = COPY $x10136 %2:_(s48) = G_ZEXTLOAD %0(p0) :: (load (s8))137 %3:_(s64) = G_ANYEXT %2(s48)138 $x10 = COPY %3(s64)139 PseudoRET implicit $x10140 141...142---143name: sextload_i8_i16144body: |145 bb.0:146 liveins: $x10147 148 ; CHECK-LABEL: name: sextload_i8_i16149 ; CHECK: liveins: $x10150 ; CHECK-NEXT: {{ $}}151 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10152 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))153 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)154 ; CHECK-NEXT: PseudoRET implicit $x10155 %0:_(p0) = COPY $x10156 %2:_(s16) = G_SEXTLOAD %0(p0) :: (load (s8))157 %3:_(s64) = G_ANYEXT %2(s16)158 $x10 = COPY %3(s64)159 PseudoRET implicit $x10160 161...162---163name: sextload_i8_i32164body: |165 bb.0:166 liveins: $x10167 168 ; CHECK-LABEL: name: sextload_i8_i32169 ; CHECK: liveins: $x10170 ; CHECK-NEXT: {{ $}}171 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10172 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))173 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)174 ; CHECK-NEXT: PseudoRET implicit $x10175 %0:_(p0) = COPY $x10176 %2:_(s32) = G_SEXTLOAD %0(p0) :: (load (s8))177 %3:_(s64) = G_ANYEXT %2(s32)178 $x10 = COPY %3(s64)179 PseudoRET implicit $x10180 181...182---183name: sextload_i16_i32184body: |185 bb.0:186 liveins: $x10187 188 ; CHECK-LABEL: name: sextload_i16_i32189 ; CHECK: liveins: $x10190 ; CHECK-NEXT: {{ $}}191 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10192 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))193 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)194 ; CHECK-NEXT: PseudoRET implicit $x10195 %0:_(p0) = COPY $x10196 %2:_(s32) = G_SEXTLOAD %0(p0) :: (load (s16))197 %3:_(s64) = G_ANYEXT %2(s32)198 $x10 = COPY %3(s64)199 PseudoRET implicit $x10200 201...202---203name: sextload_i8_i64204body: |205 bb.0:206 liveins: $x10207 208 ; CHECK-LABEL: name: sextload_i8_i64209 ; CHECK: liveins: $x10210 ; CHECK-NEXT: {{ $}}211 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10212 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))213 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)214 ; CHECK-NEXT: PseudoRET implicit $x10215 %0:_(p0) = COPY $x10216 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s8))217 $x10 = COPY %2(s64)218 PseudoRET implicit $x10219 220...221---222name: sextload_i16_i64223body: |224 bb.0:225 liveins: $x10226 227 ; CHECK-LABEL: name: sextload_i16_i64228 ; CHECK: liveins: $x10229 ; CHECK-NEXT: {{ $}}230 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10231 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))232 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)233 ; CHECK-NEXT: PseudoRET implicit $x10234 %0:_(p0) = COPY $x10235 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s16))236 $x10 = COPY %2(s64)237 PseudoRET implicit $x10238 239...240---241name: sextload_i32_i64242body: |243 bb.0:244 liveins: $x10245 246 ; CHECK-LABEL: name: sextload_i32_i64247 ; CHECK: liveins: $x10248 ; CHECK-NEXT: {{ $}}249 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10250 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s32))251 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)252 ; CHECK-NEXT: PseudoRET implicit $x10253 %0:_(p0) = COPY $x10254 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s32))255 $x10 = COPY %2(s64)256 PseudoRET implicit $x10257 258...259---260name: sextload_i8_i48261alignment: 4262body: |263 bb.0:264 liveins: $x10265 266 ; CHECK-LABEL: name: sextload_i8_i48267 ; CHECK: liveins: $x10268 ; CHECK-NEXT: {{ $}}269 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10270 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))271 ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)272 ; CHECK-NEXT: PseudoRET implicit $x10273 %0:_(p0) = COPY $x10274 %2:_(s48) = G_SEXTLOAD %0(p0) :: (load (s8))275 %3:_(s64) = G_ANYEXT %2(s48)276 $x10 = COPY %3(s64)277 PseudoRET implicit $x10278 279...280