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