1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s
3 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=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: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
14 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
15 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s8), addrspace 4)
16 %0:_(p4) = COPY $sgpr0_sgpr1
17 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 4, align 1)
21 name: zextload_global_i8_to_i32_uniform
28 ; CHECK-LABEL: name: zextload_global_i8_to_i32_uniform
29 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
30 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
31 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s8), addrspace 1)
32 %0:_(p4) = COPY $sgpr0_sgpr1
33 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 1, align 1)
37 name: zextload_constant_i16_to_i32_uniform
44 ; CHECK-LABEL: name: zextload_constant_i16_to_i32_uniform
45 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
46 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
47 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s16), addrspace 4)
48 %0:_(p4) = COPY $sgpr0_sgpr1
49 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 4, align 2)
53 name: zextload_global_i16_to_i32_uniform
60 ; CHECK-LABEL: name: zextload_global_i16_to_i32_uniform
61 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
62 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
63 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p4) :: (load (s16), addrspace 1)
64 %0:_(p4) = COPY $sgpr0_sgpr1
65 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 1, align 2)
69 name: zextload_local_i8_to_i32_uniform
75 ; CHECK-LABEL: name: zextload_local_i8_to_i32_uniform
76 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
77 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
78 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p3) :: (load (s8), addrspace 3)
79 %0:_(p3) = COPY $sgpr0
80 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 3, align 1)
84 name: zextload_local_i16_to_i32_uniform
91 ; CHECK-LABEL: name: zextload_local_i16_to_i32_uniform
92 ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
93 ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
94 ; CHECK: [[ZEXTLOAD:%[0-9]+]]:vgpr(s32) = G_ZEXTLOAD [[COPY1]](p3) :: (load (s16), addrspace 3)
95 %0:_(p3) = COPY $sgpr0
96 %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 3, align 2)