1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer -o - %s | FileCheck %s 3# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=legalizer -o - %s | FileCheck %s 4 5--- 6name: test_sextload_private_i32_i8 7body: | 8 bb.0: 9 liveins: $vgpr0 10 11 ; CHECK-LABEL: name: test_sextload_private_i32_i8 12 ; CHECK: liveins: $vgpr0 13 ; CHECK-NEXT: {{ $}} 14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 15 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 16 ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32) 17 %0:_(p5) = COPY $vgpr0 18 %1:_(s32) = G_SEXTLOAD %0 :: (load (s8), addrspace 5) 19 20 $vgpr0 = COPY %1 21... 22--- 23name: test_sextload_private_i32_i16 24body: | 25 bb.0: 26 liveins: $vgpr0 27 28 ; CHECK-LABEL: name: test_sextload_private_i32_i16 29 ; CHECK: liveins: $vgpr0 30 ; CHECK-NEXT: {{ $}} 31 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 32 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5) 33 ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32) 34 %0:_(p5) = COPY $vgpr0 35 %1:_(s32) = G_SEXTLOAD %0 :: (load (s16), addrspace 5) 36 $vgpr0 = COPY %1 37... 38--- 39name: test_sextload_private_i31_i8 40body: | 41 bb.0: 42 liveins: $vgpr0 43 44 ; CHECK-LABEL: name: test_sextload_private_i31_i8 45 ; CHECK: liveins: $vgpr0 46 ; CHECK-NEXT: {{ $}} 47 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 48 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 49 ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32) 50 %0:_(p5) = COPY $vgpr0 51 %1:_(s31) = G_SEXTLOAD %0 :: (load (s8), addrspace 5) 52 %2:_(s32) = G_ANYEXT %1 53 $vgpr0 = COPY %2 54... 55--- 56name: test_sextload_private_i64_i8 57body: | 58 bb.0: 59 liveins: $vgpr0 60 61 ; CHECK-LABEL: name: test_sextload_private_i64_i8 62 ; CHECK: liveins: $vgpr0 63 ; CHECK-NEXT: {{ $}} 64 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 65 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 66 ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32) 67 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64) 68 %0:_(p5) = COPY $vgpr0 69 %1:_(s64) = G_SEXTLOAD %0 :: (load (s8), addrspace 5) 70 $vgpr0_vgpr1 = COPY %1 71... 72--- 73name: test_sextload_private_i64_i16 74body: | 75 bb.0: 76 liveins: $vgpr0 77 78 ; CHECK-LABEL: name: test_sextload_private_i64_i16 79 ; CHECK: liveins: $vgpr0 80 ; CHECK-NEXT: {{ $}} 81 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 82 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5) 83 ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32) 84 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64) 85 %0:_(p5) = COPY $vgpr0 86 %1:_(s64) = G_SEXTLOAD %0 :: (load (s16), addrspace 5) 87 $vgpr0_vgpr1 = COPY %1 88... 89--- 90name: test_sextload_private_i64_i32 91body: | 92 bb.0: 93 liveins: $vgpr0_vgpr1 94 95 ; CHECK-LABEL: name: test_sextload_private_i64_i32 96 ; CHECK: liveins: $vgpr0_vgpr1 97 ; CHECK-NEXT: {{ $}} 98 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 99 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p5) :: (load (s32), addrspace 5) 100 ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32) 101 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64) 102 %0:_(p5) = COPY $vgpr0 103 %1:_(s64) = G_SEXTLOAD %0 :: (load (s32), addrspace 5) 104 $vgpr0_vgpr1 = COPY %1 105... 106