1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s
3 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s
6 name: zextload_constant_i8_to_i32_uniform
12 ; CHECK-LABEL: name: zextload_constant_i8_to_i32_uniform
13 ; CHECK: liveins: $sgpr0_sgpr1
15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
16 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
17 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s8), addrspace 4)
18 %0:_(p4) = COPY $sgpr0_sgpr1
19 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 4, align 1)
23 name: zextload_global_i8_to_i32_uniform
30 ; CHECK-LABEL: name: zextload_global_i8_to_i32_uniform
31 ; CHECK: liveins: $sgpr0_sgpr1
33 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
34 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
35 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s8), addrspace 1)
36 %0:_(p4) = COPY $sgpr0_sgpr1
37 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 1, align 1)
41 name: zextload_constant_i16_to_i32_uniform
48 ; CHECK-LABEL: name: zextload_constant_i16_to_i32_uniform
49 ; CHECK: liveins: $sgpr0_sgpr1
51 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
52 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
53 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s16), addrspace 4)
54 %0:_(p4) = COPY $sgpr0_sgpr1
55 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 4, align 2)
59 name: zextload_global_i16_to_i32_uniform
66 ; CHECK-LABEL: name: zextload_global_i16_to_i32_uniform
67 ; CHECK: liveins: $sgpr0_sgpr1
69 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
70 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
71 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s16), addrspace 1)
72 %0:_(p4) = COPY $sgpr0_sgpr1
73 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 1, align 2)
77 name: zextload_local_i8_to_i32_uniform
83 ; CHECK-LABEL: name: zextload_local_i8_to_i32_uniform
84 ; CHECK: liveins: $sgpr0
86 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
87 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
88 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p3) :: (load (s8), addrspace 3)
89 %0:_(p3) = COPY $sgpr0
90 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 3, align 1)
94 name: zextload_local_i16_to_i32_uniform
101 ; CHECK-LABEL: name: zextload_local_i16_to_i32_uniform
102 ; CHECK: liveins: $sgpr0
104 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
105 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
106 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p3) :: (load (s16), addrspace 3)
107 %0:_(p3) = COPY $sgpr0
108 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 3, align 2)