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