1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s 3# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s 4 5--- 6name: sextload_constant_i8_to_i32_uniform 7legalized: true 8 9body: | 10 bb.0: 11 liveins: $sgpr0_sgpr1 12 ; CHECK-LABEL: name: sextload_constant_i8_to_i32_uniform 13 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1 14 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4) 15 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 1, addrspace 4) 16 %0:_(p4) = COPY $sgpr0_sgpr1 17 %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 4, align 1) 18... 19 20--- 21name: sextload_global_i8_to_i32_uniform 22legalized: true 23 24body: | 25 bb.0: 26 liveins: $sgpr0_sgpr1 27 28 ; CHECK-LABEL: name: sextload_global_i8_to_i32_uniform 29 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1 30 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4) 31 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 1, addrspace 1) 32 %0:_(p4) = COPY $sgpr0_sgpr1 33 %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1, align 1) 34... 35 36--- 37name: sextload_constant_i16_to_i32_uniform 38legalized: true 39 40body: | 41 bb.0: 42 liveins: $sgpr0_sgpr1 43 44 ; CHECK-LABEL: name: sextload_constant_i16_to_i32_uniform 45 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1 46 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4) 47 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 2, addrspace 4) 48 %0:_(p4) = COPY $sgpr0_sgpr1 49 %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 4, align 2) 50... 51 52--- 53name: sextload_global_i16_to_i32_uniform 54legalized: true 55 56body: | 57 bb.0: 58 liveins: $sgpr0_sgpr1 59 60 ; CHECK-LABEL: name: sextload_global_i16_to_i32_uniform 61 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1 62 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4) 63 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 2, addrspace 1) 64 %0:_(p4) = COPY $sgpr0_sgpr1 65 %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 1, align 2) 66... 67 68--- 69name: sextload_local_i8_to_i32_uniform 70legalized: true 71 72body: | 73 bb.0: 74 liveins: $sgpr0 75 ; CHECK-LABEL: name: sextload_local_i8_to_i32_uniform 76 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0 77 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3) 78 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p3) :: (load 1, addrspace 3) 79 %0:_(p3) = COPY $sgpr0 80 %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 3, align 1) 81... 82 83--- 84name: sextload_local_i16_to_i32_uniform 85legalized: true 86 87body: | 88 bb.0: 89 liveins: $sgpr0 90 91 ; CHECK-LABEL: name: sextload_local_i16_to_i32_uniform 92 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0 93 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3) 94 ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p3) :: (load 2, addrspace 3) 95 %0:_(p3) = COPY $sgpr0 96 %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 3, align 2) 97... 98! 99