585 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - %s -mtriple=riscv32 -mattr=+zcb -simplify-mir \3# RUN: -run-pass=riscv-make-compressible | FileCheck --check-prefixes=CHECK %s4# RUN: llc -o - %s -mtriple=riscv64 -mattr=+zcb -simplify-mir \5# RUN: -run-pass=riscv-make-compressible | FileCheck --check-prefixes=CHECK %s6 7--- |8 define void @store_common_value_i8(ptr %a, ptr %b, ptr %c) #0 {9 entry:10 store i8 0, ptr %a, align 111 store i8 0, ptr %b, align 112 store i8 0, ptr %c, align 113 ret void14 }15 16 define void @store_common_value_i16(ptr %a, ptr %b, ptr %c) #0 {17 entry:18 store i16 0, ptr %a, align 219 store i16 0, ptr %b, align 220 store i16 0, ptr %c, align 221 ret void22 }23 24 define void @store_common_ptr_i8(ptr %p) #0 {25 entry:26 store volatile i8 1, ptr %p, align 127 store volatile i8 3, ptr %p, align 128 store volatile i8 5, ptr %p, align 129 ret void30 }31 32 define void @store_common_ptr_i16(ptr %p) #0 {33 entry:34 store volatile i16 1, ptr %p, align 235 store volatile i16 3, ptr %p, align 236 store volatile i16 5, ptr %p, align 237 ret void38 }39 40 define void @load_common_ptr_i8(ptr %p) #0 {41 entry:42 %0 = load volatile i8, ptr %p, align 143 %a = sext i8 %0 to i3244 %1 = load volatile i8, ptr %p, align 145 %2 = load volatile i8, ptr %p, align 146 ret void47 }48 49 define void @load_common_ptr_s16(ptr %p) #0 {50 entry:51 %0 = load volatile i16, ptr %p, align 252 %1 = load volatile i16, ptr %p, align 253 %2 = load volatile i16, ptr %p, align 254 ret void55 }56 57 define void @load_common_ptr_u16(ptr %p) #0 {58 entry:59 %0 = load volatile i16, ptr %p, align 260 %1 = load volatile i16, ptr %p, align 261 %2 = load volatile i16, ptr %p, align 262 ret void63 }64 65 define void @store_large_offset_i8(ptr %p) #0 {66 entry:67 %0 = getelementptr inbounds i8, ptr %p, i8 10068 store volatile i8 1, ptr %0, align 169 %1 = getelementptr inbounds i8, ptr %p, i8 10170 store volatile i8 3, ptr %1, align 171 %2 = getelementptr inbounds i8, ptr %p, i8 10272 store volatile i8 5, ptr %2, align 173 %3 = getelementptr inbounds i8, ptr %p, i8 10374 store volatile i8 7, ptr %3, align 175 ret void76 }77 78 define void @store_large_offset_i16(ptr %p) #0 {79 entry:80 %0 = getelementptr inbounds i16, ptr %p, i16 10081 store volatile i16 1, ptr %0, align 282 %1 = getelementptr inbounds i16, ptr %p, i16 10083 store volatile i16 3, ptr %1, align 284 %2 = getelementptr inbounds i16, ptr %p, i16 10185 store volatile i16 3, ptr %1, align 286 %3 = getelementptr inbounds i16, ptr %p, i16 10187 store volatile i16 7, ptr %3, align 288 ret void89 }90 91 define void @load_large_offset_i8(ptr %p) #0 {92 entry:93 %0 = getelementptr inbounds i8, ptr %p, i8 10094 %a = load volatile i8, ptr %095 %1 = getelementptr inbounds i8, ptr %p, i8 10196 %b = load volatile i8, ptr %197 %2 = getelementptr inbounds i8, ptr %p, i8 10298 %c = load volatile i8, ptr %299 %3 = getelementptr inbounds i8, ptr %p, i8 103100 %d = load volatile i8, ptr %3101 ret void102 }103 104 define void @load_large_offset_s16(ptr %p) #0 {105 entry:106 %0 = getelementptr inbounds i16, ptr %p, i16 100107 %a = load volatile i16, ptr %0, align 2108 %1 = getelementptr inbounds i16, ptr %p, i16 100109 %b = load volatile i16, ptr %1, align 2110 %2 = getelementptr inbounds i16, ptr %p, i16 101111 %c = load volatile i16, ptr %2, align 2112 %3 = getelementptr inbounds i16, ptr %p, i16 101113 %d = load volatile i16, ptr %3, align 2114 ret void115 }116 117 define void @load_large_offset_u16(ptr %p) #0 {118 entry:119 %0 = getelementptr inbounds i16, ptr %p, i16 100120 %a = load volatile i16, ptr %0, align 2121 %1 = getelementptr inbounds i16, ptr %p, i16 100122 %b = load volatile i16, ptr %1, align 2123 %2 = getelementptr inbounds i16, ptr %p, i16 101124 %c = load volatile i16, ptr %2, align 2125 %3 = getelementptr inbounds i16, ptr %p, i16 101126 %d = load volatile i16, ptr %3, align 2127 ret void128 }129 130 define void @store_large_offset_no_opt_i8(ptr %p) #0 {131 entry:132 %0 = getelementptr inbounds i8, ptr %p, i8 100133 store volatile i8 1, ptr %0, align 1134 %1 = getelementptr inbounds i8, ptr %p, i8 101135 store volatile i8 3, ptr %1, align 1136 %2 = getelementptr inbounds i8, ptr %p, i8 104137 store volatile i8 5, ptr %2, align 1138 ret void139 }140 141 define void @store_large_offset_no_opt_i16(ptr %p) #0 {142 entry:143 %0 = getelementptr inbounds i16, ptr %p, i16 100144 store volatile i8 1, ptr %0, align 2145 %1 = getelementptr inbounds i16, ptr %p, i16 100146 store volatile i8 3, ptr %1, align 2147 %2 = getelementptr inbounds i16, ptr %p, i16 101148 store volatile i8 5, ptr %2, align 2149 ret void150 }151 152 define void @load_large_offset_no_opt_i8(ptr %p) #0 {153 entry:154 %0 = getelementptr inbounds i8, ptr %p, i8 100155 %a = load volatile i8, ptr %0156 %1 = getelementptr inbounds i8, ptr %p, i8 101157 %b = load volatile i8, ptr %1158 %2 = getelementptr inbounds i8, ptr %p, i8 103159 %c = load volatile i8, ptr %2160 ret void161 }162 163 define void @load_large_offset_no_opt_s16(ptr %p) #0 {164 entry:165 %0 = getelementptr inbounds i16, ptr %p, i16 100166 %a = load volatile i16, ptr %0, align 2167 %1 = getelementptr inbounds i16, ptr %p, i16 101168 %c = load volatile i16, ptr %1, align 2169 %2 = getelementptr inbounds i16, ptr %p, i16 102170 %d = load volatile i16, ptr %2, align 2171 ret void172 }173 174 define void @load_large_offset_no_opt_u16(ptr %p) #0 {175 entry:176 %0 = getelementptr inbounds i16, ptr %p, i16 100177 %a = load volatile i16, ptr %0, align 2178 %1 = getelementptr inbounds i16, ptr %p, i16 101179 %c = load volatile i16, ptr %1, align 2180 %2 = getelementptr inbounds i16, ptr %p, i16 102181 %d = load volatile i16, ptr %2, align 2182 ret void183 }184 attributes #0 = { minsize }185 186...187---188name: store_common_value_i8189tracksRegLiveness: true190body: |191 bb.0.entry:192 liveins: $x10, $x11, $x12193 194 ; CHECK-LABEL: name: store_common_value_i8195 ; CHECK: liveins: $x10, $x11, $x12196 ; CHECK-NEXT: {{ $}}197 ; CHECK-NEXT: $x13 = ADDI $x0, 0198 ; CHECK-NEXT: SB $x13, killed renamable $x10, 0 :: (store (s8) into %ir.a)199 ; CHECK-NEXT: SB $x13, killed renamable $x11, 0 :: (store (s8) into %ir.b)200 ; CHECK-NEXT: SB $x13, killed renamable $x12, 0 :: (store (s8) into %ir.c)201 ; CHECK-NEXT: PseudoRET202 SB $x0, killed renamable $x10, 0 :: (store (s8) into %ir.a)203 SB $x0, killed renamable $x11, 0 :: (store (s8) into %ir.b)204 SB $x0, killed renamable $x12, 0 :: (store (s8) into %ir.c)205 PseudoRET206 207...208---209name: store_common_value_i16210tracksRegLiveness: true211body: |212 bb.0.entry:213 liveins: $x10, $x11, $x12214 215 ; CHECK-LABEL: name: store_common_value_i16216 ; CHECK: liveins: $x10, $x11, $x12217 ; CHECK-NEXT: {{ $}}218 ; CHECK-NEXT: $x13 = ADDI $x0, 0219 ; CHECK-NEXT: SH $x13, killed renamable $x10, 0 :: (store (s16) into %ir.a)220 ; CHECK-NEXT: SH $x13, killed renamable $x11, 0 :: (store (s16) into %ir.b)221 ; CHECK-NEXT: SH $x13, killed renamable $x12, 0 :: (store (s16) into %ir.c)222 ; CHECK-NEXT: PseudoRET223 SH $x0, killed renamable $x10, 0 :: (store (s16) into %ir.a)224 SH $x0, killed renamable $x11, 0 :: (store (s16) into %ir.b)225 SH $x0, killed renamable $x12, 0 :: (store (s16) into %ir.c)226 PseudoRET227 228...229---230name: store_common_ptr_i8231tracksRegLiveness: true232body: |233 bb.0.entry:234 liveins: $x16235 236 ; CHECK-LABEL: name: store_common_ptr_i8237 ; CHECK: liveins: $x16238 ; CHECK-NEXT: {{ $}}239 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 1240 ; CHECK-NEXT: $x11 = ADDI $x16, 0241 ; CHECK-NEXT: SB killed renamable $x10, $x11, 0 :: (volatile store (s8) into %ir.p)242 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 3243 ; CHECK-NEXT: SB killed renamable $x10, $x11, 0 :: (volatile store (s8) into %ir.p)244 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 5245 ; CHECK-NEXT: SB killed renamable $x10, killed $x11, 0 :: (volatile store (s8) into %ir.p)246 ; CHECK-NEXT: PseudoRET247 renamable $x10 = ADDI $x0, 1248 SB killed renamable $x10, renamable $x16, 0 :: (volatile store (s8) into %ir.p)249 renamable $x10 = ADDI $x0, 3250 SB killed renamable $x10, renamable $x16, 0 :: (volatile store (s8) into %ir.p)251 renamable $x10 = ADDI $x0, 5252 SB killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s8) into %ir.p)253 PseudoRET254 255...256---257name: store_common_ptr_i16258tracksRegLiveness: true259body: |260 bb.0.entry:261 liveins: $x16262 263 ; CHECK-LABEL: name: store_common_ptr_i16264 ; CHECK: liveins: $x16265 ; CHECK-NEXT: {{ $}}266 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 1267 ; CHECK-NEXT: $x11 = ADDI $x16, 0268 ; CHECK-NEXT: SH killed renamable $x10, $x11, 0 :: (volatile store (s16) into %ir.p)269 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 3270 ; CHECK-NEXT: SH killed renamable $x10, $x11, 0 :: (volatile store (s16) into %ir.p)271 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 5272 ; CHECK-NEXT: SH killed renamable $x10, killed $x11, 0 :: (volatile store (s16) into %ir.p)273 ; CHECK-NEXT: PseudoRET274 renamable $x10 = ADDI $x0, 1275 SH killed renamable $x10, renamable $x16, 0 :: (volatile store (s16) into %ir.p)276 renamable $x10 = ADDI $x0, 3277 SH killed renamable $x10, renamable $x16, 0 :: (volatile store (s16) into %ir.p)278 renamable $x10 = ADDI $x0, 5279 SH killed renamable $x10, killed renamable $x16, 0 :: (volatile store (s16) into %ir.p)280 PseudoRET281 282...283---284name: load_common_ptr_i8285body: |286 bb.0.entry:287 liveins: $x16288 289 ; CHECK-LABEL: name: load_common_ptr_i8290 ; CHECK: liveins: $x16291 ; CHECK-NEXT: {{ $}}292 ; CHECK-NEXT: $x11 = ADDI $x16, 0293 ; CHECK-NEXT: dead $x10 = LBU $x11, 0 :: (volatile load (s8) from %ir.p)294 ; CHECK-NEXT: dead $x10 = LBU $x11, 0 :: (volatile load (s8) from %ir.p)295 ; CHECK-NEXT: dead $x10 = LBU killed $x11, 0 :: (volatile load (s8) from %ir.p)296 ; CHECK-NEXT: PseudoRET297 dead $x10 = LBU renamable $x16, 0 :: (volatile load (s8) from %ir.p)298 dead $x10 = LBU renamable $x16, 0 :: (volatile load (s8) from %ir.p)299 dead $x10 = LBU killed renamable $x16, 0 :: (volatile load (s8) from %ir.p)300 PseudoRET301 302...303---304name: load_common_ptr_s16305body: |306 bb.0.entry:307 liveins: $x16308 309 ; CHECK-LABEL: name: load_common_ptr_s16310 ; CHECK: liveins: $x16311 ; CHECK-NEXT: {{ $}}312 ; CHECK-NEXT: $x11 = ADDI $x16, 0313 ; CHECK-NEXT: dead $x10 = LH $x11, 0 :: (volatile load (s16) from %ir.p)314 ; CHECK-NEXT: dead $x10 = LH $x11, 0 :: (volatile load (s16) from %ir.p)315 ; CHECK-NEXT: dead $x10 = LH killed $x11, 0 :: (volatile load (s16) from %ir.p)316 ; CHECK-NEXT: PseudoRET317 dead $x10 = LH renamable $x16, 0 :: (volatile load (s16) from %ir.p)318 dead $x10 = LH renamable $x16, 0 :: (volatile load (s16) from %ir.p)319 dead $x10 = LH killed renamable $x16, 0 :: (volatile load (s16) from %ir.p)320 PseudoRET321 322...323---324name: load_common_ptr_u16325body: |326 bb.0.entry:327 liveins: $x16328 329 ; CHECK-LABEL: name: load_common_ptr_u16330 ; CHECK: liveins: $x16331 ; CHECK-NEXT: {{ $}}332 ; CHECK-NEXT: $x11 = ADDI $x16, 0333 ; CHECK-NEXT: dead $x10 = LHU $x11, 0 :: (volatile load (s16) from %ir.p)334 ; CHECK-NEXT: dead $x10 = LHU $x11, 0 :: (volatile load (s16) from %ir.p)335 ; CHECK-NEXT: dead $x10 = LHU killed $x11, 0 :: (volatile load (s16) from %ir.p)336 ; CHECK-NEXT: PseudoRET337 dead $x10 = LHU renamable $x16, 0 :: (volatile load (s16) from %ir.p)338 dead $x10 = LHU renamable $x16, 0 :: (volatile load (s16) from %ir.p)339 dead $x10 = LHU killed renamable $x16, 0 :: (volatile load (s16) from %ir.p)340 PseudoRET341 342...343---344name: store_large_offset_i8345tracksRegLiveness: true346body: |347 bb.0.entry:348 liveins: $x10349 350 ; CHECK-LABEL: name: store_large_offset_i8351 ; CHECK: liveins: $x10352 ; CHECK-NEXT: {{ $}}353 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 1354 ; CHECK-NEXT: $x12 = ADDI $x10, 100355 ; CHECK-NEXT: SB killed renamable $x11, $x12, 0 :: (volatile store (s8) into %ir.0)356 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 3357 ; CHECK-NEXT: SB killed renamable $x11, $x12, 1 :: (volatile store (s8) into %ir.1)358 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 5359 ; CHECK-NEXT: SB killed renamable $x11, $x12, 2 :: (volatile store (s8) into %ir.2)360 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 7361 ; CHECK-NEXT: SB killed renamable $x11, killed $x12, 3 :: (volatile store (s8) into %ir.3)362 ; CHECK-NEXT: PseudoRET363 renamable $x11 = ADDI $x0, 1364 SB killed renamable $x11, renamable $x10, 100 :: (volatile store (s8) into %ir.0)365 renamable $x11 = ADDI $x0, 3366 SB killed renamable $x11, renamable $x10, 101 :: (volatile store (s8) into %ir.1)367 renamable $x11 = ADDI $x0, 5368 SB killed renamable $x11, renamable $x10, 102 :: (volatile store (s8) into %ir.2)369 renamable $x11 = ADDI $x0, 7370 SB killed renamable $x11, killed renamable $x10, 103 :: (volatile store (s8) into %ir.3)371 PseudoRET372 373...374---375name: store_large_offset_i16376tracksRegLiveness: true377body: |378 bb.0.entry:379 liveins: $x10380 ; CHECK-LABEL: name: store_large_offset_i16381 ; CHECK: liveins: $x10382 ; CHECK-NEXT: {{ $}}383 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 1384 ; CHECK-NEXT: $x12 = ADDI $x10, 200385 ; CHECK-NEXT: SH killed renamable $x11, $x12, 0 :: (volatile store (s16) into %ir.0)386 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 3387 ; CHECK-NEXT: SH killed renamable $x11, $x12, 0 :: (volatile store (s16) into %ir.1)388 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 5389 ; CHECK-NEXT: SH killed renamable $x11, $x12, 2 :: (volatile store (s16) into %ir.2)390 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 7391 ; CHECK-NEXT: SH killed renamable $x11, killed $x12, 2 :: (volatile store (s16) into %ir.3)392 ; CHECK-NEXT: PseudoRET393 renamable $x11 = ADDI $x0, 1394 SH killed renamable $x11, renamable $x10, 200 :: (volatile store (s16) into %ir.0)395 renamable $x11 = ADDI $x0, 3396 SH killed renamable $x11, renamable $x10, 200 :: (volatile store (s16) into %ir.1)397 renamable $x11 = ADDI $x0, 5398 SH killed renamable $x11, renamable $x10, 202 :: (volatile store (s16) into %ir.2)399 renamable $x11 = ADDI $x0, 7400 SH killed renamable $x11, killed renamable $x10, 202 :: (volatile store (s16) into %ir.3)401 PseudoRET402 403...404---405name: load_large_offset_i8406tracksRegLiveness: true407body: |408 bb.0.entry:409 liveins: $x16410 411 ; CHECK-LABEL: name: load_large_offset_i8412 ; CHECK: liveins: $x16413 ; CHECK-NEXT: {{ $}}414 ; CHECK-NEXT: $x11 = ADDI $x16, 100415 ; CHECK-NEXT: dead $x10 = LBU $x11, 0 :: (volatile load (s8) from %ir.0)416 ; CHECK-NEXT: dead $x10 = LBU $x11, 1 :: (volatile load (s8) from %ir.1)417 ; CHECK-NEXT: dead $x10 = LBU $x11, 2 :: (volatile load (s8) from %ir.2)418 ; CHECK-NEXT: dead $x10 = LBU killed $x11, 3 :: (volatile load (s8) from %ir.3)419 ; CHECK-NEXT: PseudoRET420 dead $x10 = LBU renamable $x16, 100 :: (volatile load (s8) from %ir.0)421 dead $x10 = LBU renamable $x16, 101 :: (volatile load (s8) from %ir.1)422 dead $x10 = LBU renamable $x16, 102 :: (volatile load (s8) from %ir.2)423 dead $x10 = LBU killed renamable $x16, 103 :: (volatile load (s8) from %ir.3)424 PseudoRET425 426...427---428name: load_large_offset_s16429tracksRegLiveness: true430body: |431 bb.0.entry:432 liveins: $x16433 434 ; CHECK-LABEL: name: load_large_offset_s16435 ; CHECK: liveins: $x16436 ; CHECK-NEXT: {{ $}}437 ; CHECK-NEXT: $x11 = ADDI $x16, 100438 ; CHECK-NEXT: dead $x10 = LH $x11, 0 :: (volatile load (s16) from %ir.0)439 ; CHECK-NEXT: dead $x10 = LH $x11, 0 :: (volatile load (s16) from %ir.1)440 ; CHECK-NEXT: dead $x10 = LH $x11, 2 :: (volatile load (s16) from %ir.2)441 ; CHECK-NEXT: dead $x10 = LH killed $x11, 2 :: (volatile load (s16) from %ir.3)442 ; CHECK-NEXT: PseudoRET443 dead $x10 = LH renamable $x16, 100 :: (volatile load (s16) from %ir.0)444 dead $x10 = LH renamable $x16, 100 :: (volatile load (s16) from %ir.1)445 dead $x10 = LH renamable $x16, 102 :: (volatile load (s16) from %ir.2)446 dead $x10 = LH killed renamable $x16, 102 :: (volatile load (s16) from %ir.3)447 PseudoRET448 449...450---451name: load_large_offset_u16452tracksRegLiveness: true453body: |454 bb.0.entry:455 liveins: $x16456 457 ; CHECK-LABEL: name: load_large_offset_u16458 ; CHECK: liveins: $x16459 ; CHECK-NEXT: {{ $}}460 ; CHECK-NEXT: $x11 = ADDI $x16, 100461 ; CHECK-NEXT: dead $x10 = LHU $x11, 0 :: (volatile load (s16) from %ir.0)462 ; CHECK-NEXT: dead $x10 = LHU $x11, 0 :: (volatile load (s16) from %ir.1)463 ; CHECK-NEXT: dead $x10 = LHU $x11, 2 :: (volatile load (s16) from %ir.2)464 ; CHECK-NEXT: dead $x10 = LHU killed $x11, 2 :: (volatile load (s16) from %ir.3)465 ; CHECK-NEXT: PseudoRET466 dead $x10 = LHU renamable $x16, 100 :: (volatile load (s16) from %ir.0)467 dead $x10 = LHU renamable $x16, 100 :: (volatile load (s16) from %ir.1)468 dead $x10 = LHU renamable $x16, 102 :: (volatile load (s16) from %ir.2)469 dead $x10 = LHU killed renamable $x16, 102 :: (volatile load (s16) from %ir.3)470 PseudoRET471 472...473---474name: store_large_offset_no_opt_i8475tracksRegLiveness: true476body: |477 bb.0.entry:478 liveins: $x16479 480 ; CHECK-LABEL: name: store_large_offset_no_opt_i8481 ; CHECK: liveins: $x16482 ; CHECK-NEXT: {{ $}}483 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 1484 ; CHECK-NEXT: SB killed renamable $x11, renamable $x16, 100 :: (volatile store (s8) into %ir.0)485 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 3486 ; CHECK-NEXT: SB killed renamable $x11, renamable $x16, 101 :: (volatile store (s8) into %ir.1)487 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 5488 ; CHECK-NEXT: SB killed renamable $x11, renamable $x16, 104 :: (volatile store (s8) into %ir.2)489 ; CHECK-NEXT: PseudoRET490 renamable $x11 = ADDI $x0, 1491 SB killed renamable $x11, renamable $x16, 100 :: (volatile store (s8) into %ir.0)492 renamable $x11 = ADDI $x0, 3493 SB killed renamable $x11, renamable $x16, 101 :: (volatile store (s8) into %ir.1)494 renamable $x11 = ADDI $x0, 5495 SB killed renamable $x11, renamable $x16, 104 :: (volatile store (s8) into %ir.2)496 PseudoRET497 498...499---500name: store_large_offset_no_opt_i16501tracksRegLiveness: true502body: |503 bb.0.entry:504 liveins: $x16505 506 ; CHECK-LABEL: name: store_large_offset_no_opt_i16507 ; CHECK: liveins: $x16508 ; CHECK-NEXT: {{ $}}509 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 1510 ; CHECK-NEXT: SH killed renamable $x11, renamable $x16, 200 :: (volatile store (s16) into %ir.0)511 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 3512 ; CHECK-NEXT: SH killed renamable $x11, renamable $x16, 202 :: (volatile store (s16) into %ir.1)513 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 5514 ; CHECK-NEXT: SH killed renamable $x11, renamable $x16, 204 :: (volatile store (s16) into %ir.2)515 ; CHECK-NEXT: PseudoRET516 renamable $x11 = ADDI $x0, 1517 SH killed renamable $x11, renamable $x16, 200 :: (volatile store (s16) into %ir.0)518 renamable $x11 = ADDI $x0, 3519 SH killed renamable $x11, renamable $x16, 202 :: (volatile store (s16) into %ir.1)520 renamable $x11 = ADDI $x0, 5521 SH killed renamable $x11, renamable $x16, 204 :: (volatile store (s16) into %ir.2)522 PseudoRET523 524...525---526name: load_large_offset_no_opt_i8527tracksRegLiveness: true528body: |529 bb.0.entry:530 liveins: $x16531 532 ; CHECK-LABEL: name: load_large_offset_no_opt_i8533 ; CHECK: liveins: $x16534 ; CHECK-NEXT: {{ $}}535 ; CHECK-NEXT: dead $x10 = LBU renamable $x16, 100 :: (volatile load (s8) from %ir.0)536 ; CHECK-NEXT: dead $x10 = LBU renamable $x16, 101 :: (volatile load (s8) from %ir.1)537 ; CHECK-NEXT: dead $x10 = LBU killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)538 ; CHECK-NEXT: PseudoRET539 dead $x10 = LBU renamable $x16, 100 :: (volatile load (s8) from %ir.0)540 dead $x10 = LBU renamable $x16, 101 :: (volatile load (s8) from %ir.1)541 dead $x10 = LBU killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)542 PseudoRET543 544...545---546name: load_large_offset_no_opt_s16547tracksRegLiveness: true548body: |549 bb.0.entry:550 liveins: $x16551 552 ; CHECK-LABEL: name: load_large_offset_no_opt_s16553 ; CHECK: liveins: $x16554 ; CHECK-NEXT: {{ $}}555 ; CHECK-NEXT: dead $x10 = LH renamable $x16, 100 :: (volatile load (s8) from %ir.0)556 ; CHECK-NEXT: dead $x10 = LH renamable $x16, 102 :: (volatile load (s8) from %ir.1)557 ; CHECK-NEXT: dead $x10 = LH killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)558 ; CHECK-NEXT: PseudoRET559 dead $x10 = LH renamable $x16, 100 :: (volatile load (s8) from %ir.0)560 dead $x10 = LH renamable $x16, 102 :: (volatile load (s8) from %ir.1)561 dead $x10 = LH killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)562 PseudoRET563 564...565---566name: load_large_offset_no_opt_u16567tracksRegLiveness: true568body: |569 bb.0.entry:570 liveins: $x16571 572 ; CHECK-LABEL: name: load_large_offset_no_opt_u16573 ; CHECK: liveins: $x16574 ; CHECK-NEXT: {{ $}}575 ; CHECK-NEXT: dead $x10 = LHU renamable $x16, 100 :: (volatile load (s8) from %ir.0)576 ; CHECK-NEXT: dead $x10 = LHU renamable $x16, 102 :: (volatile load (s8) from %ir.1)577 ; CHECK-NEXT: dead $x10 = LHU killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)578 ; CHECK-NEXT: PseudoRET579 dead $x10 = LHU renamable $x16, 100 :: (volatile load (s8) from %ir.0)580 dead $x10 = LHU renamable $x16, 102 :: (volatile load (s8) from %ir.1)581 dead $x10 = LHU killed renamable $x16, 104 :: (volatile load (s8) from %ir.2)582 PseudoRET583 584...585