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
6 name: test_zextload_private_i32_i8
11 ; CHECK-LABEL: name: test_zextload_private_i32_i8
12 ; CHECK: liveins: $vgpr0
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)
22 name: test_zextload_private_i32_i16
27 ; CHECK-LABEL: name: test_zextload_private_i32_i16
28 ; CHECK: liveins: $vgpr0
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)
38 name: test_zextload_private_i31_i8
43 ; CHECK-LABEL: name: test_zextload_private_i31_i8
44 ; CHECK: liveins: $vgpr0
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
55 name: test_zextload_private_i64_i8
60 ; CHECK-LABEL: name: test_zextload_private_i64_i8
61 ; CHECK: liveins: $vgpr0
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
72 name: test_zextload_private_i64_i16
77 ; CHECK-LABEL: name: test_zextload_private_i64_i16
78 ; CHECK: liveins: $vgpr0
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
89 name: test_zextload_private_i64_i32
94 ; CHECK-LABEL: name: test_zextload_private_i64_i32
95 ; CHECK: liveins: $vgpr0_vgpr1
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