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_zextload_private_i32_i8 7body: | 8 bb.0: 9 liveins: $vgpr0 10 11 ; CHECK-LABEL: name: test_zextload_private_i32_i8 12 ; CHECK: liveins: $vgpr0 13 ; CHECK-NEXT: {{ $}} 14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 15 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 16 ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32) 17 %0:_(p5) = COPY $vgpr0 18 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 5) 19 $vgpr0 = COPY %1 20... 21--- 22name: test_zextload_private_i32_i16 23body: | 24 bb.0: 25 liveins: $vgpr0 26 27 ; CHECK-LABEL: name: test_zextload_private_i32_i16 28 ; CHECK: liveins: $vgpr0 29 ; CHECK-NEXT: {{ $}} 30 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 31 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5) 32 ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32) 33 %0:_(p5) = COPY $vgpr0 34 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 5) 35 $vgpr0 = COPY %1 36... 37--- 38name: test_zextload_private_i31_i8 39body: | 40 bb.0: 41 liveins: $vgpr0 42 43 ; CHECK-LABEL: name: test_zextload_private_i31_i8 44 ; CHECK: liveins: $vgpr0 45 ; CHECK-NEXT: {{ $}} 46 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 47 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 48 ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32) 49 %0:_(p5) = COPY $vgpr0 50 %1:_(s31) = G_ZEXTLOAD %0 :: (load (s8), addrspace 5) 51 %2:_(s32) = G_ANYEXT %1 52 $vgpr0 = COPY %2 53... 54--- 55name: test_zextload_private_i64_i8 56body: | 57 bb.0: 58 liveins: $vgpr0 59 60 ; CHECK-LABEL: name: test_zextload_private_i64_i8 61 ; CHECK: liveins: $vgpr0 62 ; CHECK-NEXT: {{ $}} 63 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 64 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5) 65 ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[ZEXTLOAD]](s32) 66 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64) 67 %0:_(p5) = COPY $vgpr0 68 %1:_(s64) = G_ZEXTLOAD %0 :: (load (s8), addrspace 5) 69 $vgpr0_vgpr1 = COPY %1 70... 71--- 72name: test_zextload_private_i64_i16 73body: | 74 bb.0: 75 liveins: $vgpr0 76 77 ; CHECK-LABEL: name: test_zextload_private_i64_i16 78 ; CHECK: liveins: $vgpr0 79 ; CHECK-NEXT: {{ $}} 80 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 81 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5) 82 ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[ZEXTLOAD]](s32) 83 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64) 84 %0:_(p5) = COPY $vgpr0 85 %1:_(s64) = G_ZEXTLOAD %0 :: (load (s16), addrspace 5) 86 $vgpr0_vgpr1 = COPY %1 87... 88--- 89name: test_zextload_private_i64_i32 90body: | 91 bb.0: 92 liveins: $vgpr0_vgpr1 93 94 ; CHECK-LABEL: name: test_zextload_private_i64_i32 95 ; CHECK: liveins: $vgpr0_vgpr1 96 ; CHECK-NEXT: {{ $}} 97 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0 98 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p5) :: (load (s32), addrspace 5) 99 ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[LOAD]](s32) 100 ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64) 101 %0:_(p5) = COPY $vgpr0 102 %1:_(s64) = G_ZEXTLOAD %0 :: (load (s32), addrspace 5) 103 $vgpr0_vgpr1 = COPY %1 104... 105