[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / preload-kernargs.ll
blob57980214e58e2b5e57734fa9d9dfdf6afe638384
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx940 -verify-machineinstrs < %s | FileCheck -check-prefixes=NO-PRELOAD %s
3 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx940 -amdgpu-kernarg-preload-count=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=PRELOAD-1 %s
4 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx940 -amdgpu-kernarg-preload-count=2 -verify-machineinstrs < %s | FileCheck -check-prefixes=PRELOAD-2 %s
5 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx940 -amdgpu-kernarg-preload-count=4 -verify-machineinstrs < %s | FileCheck -check-prefixes=PRELOAD-4 %s
6 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx940 -amdgpu-kernarg-preload-count=8 -verify-machineinstrs < %s | FileCheck -check-prefixes=PRELOAD-8 %s
8 define amdgpu_kernel void @ptr1_i8(ptr addrspace(1) %out, i8 %arg0) {
9 ; NO-PRELOAD-LABEL: ptr1_i8:
10 ; NO-PRELOAD:       ; %bb.0:
11 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
12 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
13 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
14 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
15 ; NO-PRELOAD-NEXT:    s_and_b32 s0, s4, 0xff
16 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s0
17 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
18 ; NO-PRELOAD-NEXT:    s_endpgm
20 ; PRELOAD-1-LABEL: ptr1_i8:
21 ; PRELOAD-1:         s_nop 0
22 ; PRELOAD-1-NEXT:    s_nop 0
23 ; PRELOAD-1-NEXT:    s_nop 0
24 ; PRELOAD-1-NEXT:    s_nop 0
25 ; PRELOAD-1-NEXT:    s_nop 0
26 ; PRELOAD-1-NEXT:    s_nop 0
27 ; PRELOAD-1-NEXT:    s_nop 0
28 ; PRELOAD-1-NEXT:    s_nop 0
29 ; PRELOAD-1-NEXT:    s_nop 0
30 ; PRELOAD-1-NEXT:    s_nop 0
31 ; PRELOAD-1-NEXT:    s_nop 0
32 ; PRELOAD-1-NEXT:    s_nop 0
33 ; PRELOAD-1-NEXT:    s_nop 0
34 ; PRELOAD-1-NEXT:    s_nop 0
35 ; PRELOAD-1-NEXT:    s_nop 0
36 ; PRELOAD-1-NEXT:    s_nop 0
37 ; PRELOAD-1-NEXT:    s_nop 0
38 ; PRELOAD-1-NEXT:    s_nop 0
39 ; PRELOAD-1-NEXT:    s_nop 0
40 ; PRELOAD-1-NEXT:    s_nop 0
41 ; PRELOAD-1-NEXT:    s_nop 0
42 ; PRELOAD-1-NEXT:    s_nop 0
43 ; PRELOAD-1-NEXT:    s_nop 0
44 ; PRELOAD-1-NEXT:    s_nop 0
45 ; PRELOAD-1-NEXT:    s_nop 0
46 ; PRELOAD-1-NEXT:    s_nop 0
47 ; PRELOAD-1-NEXT:    s_nop 0
48 ; PRELOAD-1-NEXT:    s_nop 0
49 ; PRELOAD-1-NEXT:    s_nop 0
50 ; PRELOAD-1-NEXT:    s_nop 0
51 ; PRELOAD-1-NEXT:    s_nop 0
52 ; PRELOAD-1-NEXT:    s_nop 0
53 ; PRELOAD-1-NEXT:    s_nop 0
54 ; PRELOAD-1-NEXT:    s_nop 0
55 ; PRELOAD-1-NEXT:    s_nop 0
56 ; PRELOAD-1-NEXT:    s_nop 0
57 ; PRELOAD-1-NEXT:    s_nop 0
58 ; PRELOAD-1-NEXT:    s_nop 0
59 ; PRELOAD-1-NEXT:    s_nop 0
60 ; PRELOAD-1-NEXT:    s_nop 0
61 ; PRELOAD-1-NEXT:    s_nop 0
62 ; PRELOAD-1-NEXT:    s_nop 0
63 ; PRELOAD-1-NEXT:    s_nop 0
64 ; PRELOAD-1-NEXT:    s_nop 0
65 ; PRELOAD-1-NEXT:    s_nop 0
66 ; PRELOAD-1-NEXT:    s_nop 0
67 ; PRELOAD-1-NEXT:    s_nop 0
68 ; PRELOAD-1-NEXT:    s_nop 0
69 ; PRELOAD-1-NEXT:    s_nop 0
70 ; PRELOAD-1-NEXT:    s_nop 0
71 ; PRELOAD-1-NEXT:    s_nop 0
72 ; PRELOAD-1-NEXT:    s_nop 0
73 ; PRELOAD-1-NEXT:    s_nop 0
74 ; PRELOAD-1-NEXT:    s_nop 0
75 ; PRELOAD-1-NEXT:    s_nop 0
76 ; PRELOAD-1-NEXT:    s_nop 0
77 ; PRELOAD-1-NEXT:    s_nop 0
78 ; PRELOAD-1-NEXT:    s_nop 0
79 ; PRELOAD-1-NEXT:    s_nop 0
80 ; PRELOAD-1-NEXT:    s_nop 0
81 ; PRELOAD-1-NEXT:    s_nop 0
82 ; PRELOAD-1-NEXT:    s_nop 0
83 ; PRELOAD-1-NEXT:    s_nop 0
84 ; PRELOAD-1-NEXT:    s_nop 0
85 ; PRELOAD-1-NEXT:  ; %bb.0:
86 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
87 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
88 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
89 ; PRELOAD-1-NEXT:    s_and_b32 s0, s0, 0xff
90 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
91 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
92 ; PRELOAD-1-NEXT:    s_endpgm
94 ; PRELOAD-2-LABEL: ptr1_i8:
95 ; PRELOAD-2:         s_nop 0
96 ; PRELOAD-2-NEXT:    s_nop 0
97 ; PRELOAD-2-NEXT:    s_nop 0
98 ; PRELOAD-2-NEXT:    s_nop 0
99 ; PRELOAD-2-NEXT:    s_nop 0
100 ; PRELOAD-2-NEXT:    s_nop 0
101 ; PRELOAD-2-NEXT:    s_nop 0
102 ; PRELOAD-2-NEXT:    s_nop 0
103 ; PRELOAD-2-NEXT:    s_nop 0
104 ; PRELOAD-2-NEXT:    s_nop 0
105 ; PRELOAD-2-NEXT:    s_nop 0
106 ; PRELOAD-2-NEXT:    s_nop 0
107 ; PRELOAD-2-NEXT:    s_nop 0
108 ; PRELOAD-2-NEXT:    s_nop 0
109 ; PRELOAD-2-NEXT:    s_nop 0
110 ; PRELOAD-2-NEXT:    s_nop 0
111 ; PRELOAD-2-NEXT:    s_nop 0
112 ; PRELOAD-2-NEXT:    s_nop 0
113 ; PRELOAD-2-NEXT:    s_nop 0
114 ; PRELOAD-2-NEXT:    s_nop 0
115 ; PRELOAD-2-NEXT:    s_nop 0
116 ; PRELOAD-2-NEXT:    s_nop 0
117 ; PRELOAD-2-NEXT:    s_nop 0
118 ; PRELOAD-2-NEXT:    s_nop 0
119 ; PRELOAD-2-NEXT:    s_nop 0
120 ; PRELOAD-2-NEXT:    s_nop 0
121 ; PRELOAD-2-NEXT:    s_nop 0
122 ; PRELOAD-2-NEXT:    s_nop 0
123 ; PRELOAD-2-NEXT:    s_nop 0
124 ; PRELOAD-2-NEXT:    s_nop 0
125 ; PRELOAD-2-NEXT:    s_nop 0
126 ; PRELOAD-2-NEXT:    s_nop 0
127 ; PRELOAD-2-NEXT:    s_nop 0
128 ; PRELOAD-2-NEXT:    s_nop 0
129 ; PRELOAD-2-NEXT:    s_nop 0
130 ; PRELOAD-2-NEXT:    s_nop 0
131 ; PRELOAD-2-NEXT:    s_nop 0
132 ; PRELOAD-2-NEXT:    s_nop 0
133 ; PRELOAD-2-NEXT:    s_nop 0
134 ; PRELOAD-2-NEXT:    s_nop 0
135 ; PRELOAD-2-NEXT:    s_nop 0
136 ; PRELOAD-2-NEXT:    s_nop 0
137 ; PRELOAD-2-NEXT:    s_nop 0
138 ; PRELOAD-2-NEXT:    s_nop 0
139 ; PRELOAD-2-NEXT:    s_nop 0
140 ; PRELOAD-2-NEXT:    s_nop 0
141 ; PRELOAD-2-NEXT:    s_nop 0
142 ; PRELOAD-2-NEXT:    s_nop 0
143 ; PRELOAD-2-NEXT:    s_nop 0
144 ; PRELOAD-2-NEXT:    s_nop 0
145 ; PRELOAD-2-NEXT:    s_nop 0
146 ; PRELOAD-2-NEXT:    s_nop 0
147 ; PRELOAD-2-NEXT:    s_nop 0
148 ; PRELOAD-2-NEXT:    s_nop 0
149 ; PRELOAD-2-NEXT:    s_nop 0
150 ; PRELOAD-2-NEXT:    s_nop 0
151 ; PRELOAD-2-NEXT:    s_nop 0
152 ; PRELOAD-2-NEXT:    s_nop 0
153 ; PRELOAD-2-NEXT:    s_nop 0
154 ; PRELOAD-2-NEXT:    s_nop 0
155 ; PRELOAD-2-NEXT:    s_nop 0
156 ; PRELOAD-2-NEXT:    s_nop 0
157 ; PRELOAD-2-NEXT:    s_nop 0
158 ; PRELOAD-2-NEXT:    s_nop 0
159 ; PRELOAD-2-NEXT:  ; %bb.0:
160 ; PRELOAD-2-NEXT:    s_and_b32 s0, s4, 0xff
161 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
162 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s0
163 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
164 ; PRELOAD-2-NEXT:    s_endpgm
166 ; PRELOAD-4-LABEL: ptr1_i8:
167 ; PRELOAD-4:         s_nop 0
168 ; PRELOAD-4-NEXT:    s_nop 0
169 ; PRELOAD-4-NEXT:    s_nop 0
170 ; PRELOAD-4-NEXT:    s_nop 0
171 ; PRELOAD-4-NEXT:    s_nop 0
172 ; PRELOAD-4-NEXT:    s_nop 0
173 ; PRELOAD-4-NEXT:    s_nop 0
174 ; PRELOAD-4-NEXT:    s_nop 0
175 ; PRELOAD-4-NEXT:    s_nop 0
176 ; PRELOAD-4-NEXT:    s_nop 0
177 ; PRELOAD-4-NEXT:    s_nop 0
178 ; PRELOAD-4-NEXT:    s_nop 0
179 ; PRELOAD-4-NEXT:    s_nop 0
180 ; PRELOAD-4-NEXT:    s_nop 0
181 ; PRELOAD-4-NEXT:    s_nop 0
182 ; PRELOAD-4-NEXT:    s_nop 0
183 ; PRELOAD-4-NEXT:    s_nop 0
184 ; PRELOAD-4-NEXT:    s_nop 0
185 ; PRELOAD-4-NEXT:    s_nop 0
186 ; PRELOAD-4-NEXT:    s_nop 0
187 ; PRELOAD-4-NEXT:    s_nop 0
188 ; PRELOAD-4-NEXT:    s_nop 0
189 ; PRELOAD-4-NEXT:    s_nop 0
190 ; PRELOAD-4-NEXT:    s_nop 0
191 ; PRELOAD-4-NEXT:    s_nop 0
192 ; PRELOAD-4-NEXT:    s_nop 0
193 ; PRELOAD-4-NEXT:    s_nop 0
194 ; PRELOAD-4-NEXT:    s_nop 0
195 ; PRELOAD-4-NEXT:    s_nop 0
196 ; PRELOAD-4-NEXT:    s_nop 0
197 ; PRELOAD-4-NEXT:    s_nop 0
198 ; PRELOAD-4-NEXT:    s_nop 0
199 ; PRELOAD-4-NEXT:    s_nop 0
200 ; PRELOAD-4-NEXT:    s_nop 0
201 ; PRELOAD-4-NEXT:    s_nop 0
202 ; PRELOAD-4-NEXT:    s_nop 0
203 ; PRELOAD-4-NEXT:    s_nop 0
204 ; PRELOAD-4-NEXT:    s_nop 0
205 ; PRELOAD-4-NEXT:    s_nop 0
206 ; PRELOAD-4-NEXT:    s_nop 0
207 ; PRELOAD-4-NEXT:    s_nop 0
208 ; PRELOAD-4-NEXT:    s_nop 0
209 ; PRELOAD-4-NEXT:    s_nop 0
210 ; PRELOAD-4-NEXT:    s_nop 0
211 ; PRELOAD-4-NEXT:    s_nop 0
212 ; PRELOAD-4-NEXT:    s_nop 0
213 ; PRELOAD-4-NEXT:    s_nop 0
214 ; PRELOAD-4-NEXT:    s_nop 0
215 ; PRELOAD-4-NEXT:    s_nop 0
216 ; PRELOAD-4-NEXT:    s_nop 0
217 ; PRELOAD-4-NEXT:    s_nop 0
218 ; PRELOAD-4-NEXT:    s_nop 0
219 ; PRELOAD-4-NEXT:    s_nop 0
220 ; PRELOAD-4-NEXT:    s_nop 0
221 ; PRELOAD-4-NEXT:    s_nop 0
222 ; PRELOAD-4-NEXT:    s_nop 0
223 ; PRELOAD-4-NEXT:    s_nop 0
224 ; PRELOAD-4-NEXT:    s_nop 0
225 ; PRELOAD-4-NEXT:    s_nop 0
226 ; PRELOAD-4-NEXT:    s_nop 0
227 ; PRELOAD-4-NEXT:    s_nop 0
228 ; PRELOAD-4-NEXT:    s_nop 0
229 ; PRELOAD-4-NEXT:    s_nop 0
230 ; PRELOAD-4-NEXT:    s_nop 0
231 ; PRELOAD-4-NEXT:  ; %bb.0:
232 ; PRELOAD-4-NEXT:    s_and_b32 s0, s4, 0xff
233 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
234 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s0
235 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
236 ; PRELOAD-4-NEXT:    s_endpgm
238 ; PRELOAD-8-LABEL: ptr1_i8:
239 ; PRELOAD-8:         s_nop 0
240 ; PRELOAD-8-NEXT:    s_nop 0
241 ; PRELOAD-8-NEXT:    s_nop 0
242 ; PRELOAD-8-NEXT:    s_nop 0
243 ; PRELOAD-8-NEXT:    s_nop 0
244 ; PRELOAD-8-NEXT:    s_nop 0
245 ; PRELOAD-8-NEXT:    s_nop 0
246 ; PRELOAD-8-NEXT:    s_nop 0
247 ; PRELOAD-8-NEXT:    s_nop 0
248 ; PRELOAD-8-NEXT:    s_nop 0
249 ; PRELOAD-8-NEXT:    s_nop 0
250 ; PRELOAD-8-NEXT:    s_nop 0
251 ; PRELOAD-8-NEXT:    s_nop 0
252 ; PRELOAD-8-NEXT:    s_nop 0
253 ; PRELOAD-8-NEXT:    s_nop 0
254 ; PRELOAD-8-NEXT:    s_nop 0
255 ; PRELOAD-8-NEXT:    s_nop 0
256 ; PRELOAD-8-NEXT:    s_nop 0
257 ; PRELOAD-8-NEXT:    s_nop 0
258 ; PRELOAD-8-NEXT:    s_nop 0
259 ; PRELOAD-8-NEXT:    s_nop 0
260 ; PRELOAD-8-NEXT:    s_nop 0
261 ; PRELOAD-8-NEXT:    s_nop 0
262 ; PRELOAD-8-NEXT:    s_nop 0
263 ; PRELOAD-8-NEXT:    s_nop 0
264 ; PRELOAD-8-NEXT:    s_nop 0
265 ; PRELOAD-8-NEXT:    s_nop 0
266 ; PRELOAD-8-NEXT:    s_nop 0
267 ; PRELOAD-8-NEXT:    s_nop 0
268 ; PRELOAD-8-NEXT:    s_nop 0
269 ; PRELOAD-8-NEXT:    s_nop 0
270 ; PRELOAD-8-NEXT:    s_nop 0
271 ; PRELOAD-8-NEXT:    s_nop 0
272 ; PRELOAD-8-NEXT:    s_nop 0
273 ; PRELOAD-8-NEXT:    s_nop 0
274 ; PRELOAD-8-NEXT:    s_nop 0
275 ; PRELOAD-8-NEXT:    s_nop 0
276 ; PRELOAD-8-NEXT:    s_nop 0
277 ; PRELOAD-8-NEXT:    s_nop 0
278 ; PRELOAD-8-NEXT:    s_nop 0
279 ; PRELOAD-8-NEXT:    s_nop 0
280 ; PRELOAD-8-NEXT:    s_nop 0
281 ; PRELOAD-8-NEXT:    s_nop 0
282 ; PRELOAD-8-NEXT:    s_nop 0
283 ; PRELOAD-8-NEXT:    s_nop 0
284 ; PRELOAD-8-NEXT:    s_nop 0
285 ; PRELOAD-8-NEXT:    s_nop 0
286 ; PRELOAD-8-NEXT:    s_nop 0
287 ; PRELOAD-8-NEXT:    s_nop 0
288 ; PRELOAD-8-NEXT:    s_nop 0
289 ; PRELOAD-8-NEXT:    s_nop 0
290 ; PRELOAD-8-NEXT:    s_nop 0
291 ; PRELOAD-8-NEXT:    s_nop 0
292 ; PRELOAD-8-NEXT:    s_nop 0
293 ; PRELOAD-8-NEXT:    s_nop 0
294 ; PRELOAD-8-NEXT:    s_nop 0
295 ; PRELOAD-8-NEXT:    s_nop 0
296 ; PRELOAD-8-NEXT:    s_nop 0
297 ; PRELOAD-8-NEXT:    s_nop 0
298 ; PRELOAD-8-NEXT:    s_nop 0
299 ; PRELOAD-8-NEXT:    s_nop 0
300 ; PRELOAD-8-NEXT:    s_nop 0
301 ; PRELOAD-8-NEXT:    s_nop 0
302 ; PRELOAD-8-NEXT:    s_nop 0
303 ; PRELOAD-8-NEXT:  ; %bb.0:
304 ; PRELOAD-8-NEXT:    s_and_b32 s0, s4, 0xff
305 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
306 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s0
307 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
308 ; PRELOAD-8-NEXT:    s_endpgm
309   %ext = zext i8 %arg0 to i32
310   store i32 %ext, ptr addrspace(1) %out
311   ret void
314 define amdgpu_kernel void @ptr1_i8_zext_arg(ptr addrspace(1) %out, i8 zeroext %arg0) {
315 ; NO-PRELOAD-LABEL: ptr1_i8_zext_arg:
316 ; NO-PRELOAD:       ; %bb.0:
317 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
318 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
319 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
320 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
321 ; NO-PRELOAD-NEXT:    s_and_b32 s0, s4, 0xff
322 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s0
323 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
324 ; NO-PRELOAD-NEXT:    s_endpgm
326 ; PRELOAD-1-LABEL: ptr1_i8_zext_arg:
327 ; PRELOAD-1:         s_nop 0
328 ; PRELOAD-1-NEXT:    s_nop 0
329 ; PRELOAD-1-NEXT:    s_nop 0
330 ; PRELOAD-1-NEXT:    s_nop 0
331 ; PRELOAD-1-NEXT:    s_nop 0
332 ; PRELOAD-1-NEXT:    s_nop 0
333 ; PRELOAD-1-NEXT:    s_nop 0
334 ; PRELOAD-1-NEXT:    s_nop 0
335 ; PRELOAD-1-NEXT:    s_nop 0
336 ; PRELOAD-1-NEXT:    s_nop 0
337 ; PRELOAD-1-NEXT:    s_nop 0
338 ; PRELOAD-1-NEXT:    s_nop 0
339 ; PRELOAD-1-NEXT:    s_nop 0
340 ; PRELOAD-1-NEXT:    s_nop 0
341 ; PRELOAD-1-NEXT:    s_nop 0
342 ; PRELOAD-1-NEXT:    s_nop 0
343 ; PRELOAD-1-NEXT:    s_nop 0
344 ; PRELOAD-1-NEXT:    s_nop 0
345 ; PRELOAD-1-NEXT:    s_nop 0
346 ; PRELOAD-1-NEXT:    s_nop 0
347 ; PRELOAD-1-NEXT:    s_nop 0
348 ; PRELOAD-1-NEXT:    s_nop 0
349 ; PRELOAD-1-NEXT:    s_nop 0
350 ; PRELOAD-1-NEXT:    s_nop 0
351 ; PRELOAD-1-NEXT:    s_nop 0
352 ; PRELOAD-1-NEXT:    s_nop 0
353 ; PRELOAD-1-NEXT:    s_nop 0
354 ; PRELOAD-1-NEXT:    s_nop 0
355 ; PRELOAD-1-NEXT:    s_nop 0
356 ; PRELOAD-1-NEXT:    s_nop 0
357 ; PRELOAD-1-NEXT:    s_nop 0
358 ; PRELOAD-1-NEXT:    s_nop 0
359 ; PRELOAD-1-NEXT:    s_nop 0
360 ; PRELOAD-1-NEXT:    s_nop 0
361 ; PRELOAD-1-NEXT:    s_nop 0
362 ; PRELOAD-1-NEXT:    s_nop 0
363 ; PRELOAD-1-NEXT:    s_nop 0
364 ; PRELOAD-1-NEXT:    s_nop 0
365 ; PRELOAD-1-NEXT:    s_nop 0
366 ; PRELOAD-1-NEXT:    s_nop 0
367 ; PRELOAD-1-NEXT:    s_nop 0
368 ; PRELOAD-1-NEXT:    s_nop 0
369 ; PRELOAD-1-NEXT:    s_nop 0
370 ; PRELOAD-1-NEXT:    s_nop 0
371 ; PRELOAD-1-NEXT:    s_nop 0
372 ; PRELOAD-1-NEXT:    s_nop 0
373 ; PRELOAD-1-NEXT:    s_nop 0
374 ; PRELOAD-1-NEXT:    s_nop 0
375 ; PRELOAD-1-NEXT:    s_nop 0
376 ; PRELOAD-1-NEXT:    s_nop 0
377 ; PRELOAD-1-NEXT:    s_nop 0
378 ; PRELOAD-1-NEXT:    s_nop 0
379 ; PRELOAD-1-NEXT:    s_nop 0
380 ; PRELOAD-1-NEXT:    s_nop 0
381 ; PRELOAD-1-NEXT:    s_nop 0
382 ; PRELOAD-1-NEXT:    s_nop 0
383 ; PRELOAD-1-NEXT:    s_nop 0
384 ; PRELOAD-1-NEXT:    s_nop 0
385 ; PRELOAD-1-NEXT:    s_nop 0
386 ; PRELOAD-1-NEXT:    s_nop 0
387 ; PRELOAD-1-NEXT:    s_nop 0
388 ; PRELOAD-1-NEXT:    s_nop 0
389 ; PRELOAD-1-NEXT:    s_nop 0
390 ; PRELOAD-1-NEXT:    s_nop 0
391 ; PRELOAD-1-NEXT:  ; %bb.0:
392 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
393 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
394 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
395 ; PRELOAD-1-NEXT:    s_and_b32 s0, s0, 0xff
396 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
397 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
398 ; PRELOAD-1-NEXT:    s_endpgm
400 ; PRELOAD-2-LABEL: ptr1_i8_zext_arg:
401 ; PRELOAD-2:         s_nop 0
402 ; PRELOAD-2-NEXT:    s_nop 0
403 ; PRELOAD-2-NEXT:    s_nop 0
404 ; PRELOAD-2-NEXT:    s_nop 0
405 ; PRELOAD-2-NEXT:    s_nop 0
406 ; PRELOAD-2-NEXT:    s_nop 0
407 ; PRELOAD-2-NEXT:    s_nop 0
408 ; PRELOAD-2-NEXT:    s_nop 0
409 ; PRELOAD-2-NEXT:    s_nop 0
410 ; PRELOAD-2-NEXT:    s_nop 0
411 ; PRELOAD-2-NEXT:    s_nop 0
412 ; PRELOAD-2-NEXT:    s_nop 0
413 ; PRELOAD-2-NEXT:    s_nop 0
414 ; PRELOAD-2-NEXT:    s_nop 0
415 ; PRELOAD-2-NEXT:    s_nop 0
416 ; PRELOAD-2-NEXT:    s_nop 0
417 ; PRELOAD-2-NEXT:    s_nop 0
418 ; PRELOAD-2-NEXT:    s_nop 0
419 ; PRELOAD-2-NEXT:    s_nop 0
420 ; PRELOAD-2-NEXT:    s_nop 0
421 ; PRELOAD-2-NEXT:    s_nop 0
422 ; PRELOAD-2-NEXT:    s_nop 0
423 ; PRELOAD-2-NEXT:    s_nop 0
424 ; PRELOAD-2-NEXT:    s_nop 0
425 ; PRELOAD-2-NEXT:    s_nop 0
426 ; PRELOAD-2-NEXT:    s_nop 0
427 ; PRELOAD-2-NEXT:    s_nop 0
428 ; PRELOAD-2-NEXT:    s_nop 0
429 ; PRELOAD-2-NEXT:    s_nop 0
430 ; PRELOAD-2-NEXT:    s_nop 0
431 ; PRELOAD-2-NEXT:    s_nop 0
432 ; PRELOAD-2-NEXT:    s_nop 0
433 ; PRELOAD-2-NEXT:    s_nop 0
434 ; PRELOAD-2-NEXT:    s_nop 0
435 ; PRELOAD-2-NEXT:    s_nop 0
436 ; PRELOAD-2-NEXT:    s_nop 0
437 ; PRELOAD-2-NEXT:    s_nop 0
438 ; PRELOAD-2-NEXT:    s_nop 0
439 ; PRELOAD-2-NEXT:    s_nop 0
440 ; PRELOAD-2-NEXT:    s_nop 0
441 ; PRELOAD-2-NEXT:    s_nop 0
442 ; PRELOAD-2-NEXT:    s_nop 0
443 ; PRELOAD-2-NEXT:    s_nop 0
444 ; PRELOAD-2-NEXT:    s_nop 0
445 ; PRELOAD-2-NEXT:    s_nop 0
446 ; PRELOAD-2-NEXT:    s_nop 0
447 ; PRELOAD-2-NEXT:    s_nop 0
448 ; PRELOAD-2-NEXT:    s_nop 0
449 ; PRELOAD-2-NEXT:    s_nop 0
450 ; PRELOAD-2-NEXT:    s_nop 0
451 ; PRELOAD-2-NEXT:    s_nop 0
452 ; PRELOAD-2-NEXT:    s_nop 0
453 ; PRELOAD-2-NEXT:    s_nop 0
454 ; PRELOAD-2-NEXT:    s_nop 0
455 ; PRELOAD-2-NEXT:    s_nop 0
456 ; PRELOAD-2-NEXT:    s_nop 0
457 ; PRELOAD-2-NEXT:    s_nop 0
458 ; PRELOAD-2-NEXT:    s_nop 0
459 ; PRELOAD-2-NEXT:    s_nop 0
460 ; PRELOAD-2-NEXT:    s_nop 0
461 ; PRELOAD-2-NEXT:    s_nop 0
462 ; PRELOAD-2-NEXT:    s_nop 0
463 ; PRELOAD-2-NEXT:    s_nop 0
464 ; PRELOAD-2-NEXT:    s_nop 0
465 ; PRELOAD-2-NEXT:  ; %bb.0:
466 ; PRELOAD-2-NEXT:    s_mov_b32 s0, 0xffff
467 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s4
468 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
469 ; PRELOAD-2-NEXT:    v_and_b32_sdwa v1, s0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
470 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
471 ; PRELOAD-2-NEXT:    s_endpgm
473 ; PRELOAD-4-LABEL: ptr1_i8_zext_arg:
474 ; PRELOAD-4:         s_nop 0
475 ; PRELOAD-4-NEXT:    s_nop 0
476 ; PRELOAD-4-NEXT:    s_nop 0
477 ; PRELOAD-4-NEXT:    s_nop 0
478 ; PRELOAD-4-NEXT:    s_nop 0
479 ; PRELOAD-4-NEXT:    s_nop 0
480 ; PRELOAD-4-NEXT:    s_nop 0
481 ; PRELOAD-4-NEXT:    s_nop 0
482 ; PRELOAD-4-NEXT:    s_nop 0
483 ; PRELOAD-4-NEXT:    s_nop 0
484 ; PRELOAD-4-NEXT:    s_nop 0
485 ; PRELOAD-4-NEXT:    s_nop 0
486 ; PRELOAD-4-NEXT:    s_nop 0
487 ; PRELOAD-4-NEXT:    s_nop 0
488 ; PRELOAD-4-NEXT:    s_nop 0
489 ; PRELOAD-4-NEXT:    s_nop 0
490 ; PRELOAD-4-NEXT:    s_nop 0
491 ; PRELOAD-4-NEXT:    s_nop 0
492 ; PRELOAD-4-NEXT:    s_nop 0
493 ; PRELOAD-4-NEXT:    s_nop 0
494 ; PRELOAD-4-NEXT:    s_nop 0
495 ; PRELOAD-4-NEXT:    s_nop 0
496 ; PRELOAD-4-NEXT:    s_nop 0
497 ; PRELOAD-4-NEXT:    s_nop 0
498 ; PRELOAD-4-NEXT:    s_nop 0
499 ; PRELOAD-4-NEXT:    s_nop 0
500 ; PRELOAD-4-NEXT:    s_nop 0
501 ; PRELOAD-4-NEXT:    s_nop 0
502 ; PRELOAD-4-NEXT:    s_nop 0
503 ; PRELOAD-4-NEXT:    s_nop 0
504 ; PRELOAD-4-NEXT:    s_nop 0
505 ; PRELOAD-4-NEXT:    s_nop 0
506 ; PRELOAD-4-NEXT:    s_nop 0
507 ; PRELOAD-4-NEXT:    s_nop 0
508 ; PRELOAD-4-NEXT:    s_nop 0
509 ; PRELOAD-4-NEXT:    s_nop 0
510 ; PRELOAD-4-NEXT:    s_nop 0
511 ; PRELOAD-4-NEXT:    s_nop 0
512 ; PRELOAD-4-NEXT:    s_nop 0
513 ; PRELOAD-4-NEXT:    s_nop 0
514 ; PRELOAD-4-NEXT:    s_nop 0
515 ; PRELOAD-4-NEXT:    s_nop 0
516 ; PRELOAD-4-NEXT:    s_nop 0
517 ; PRELOAD-4-NEXT:    s_nop 0
518 ; PRELOAD-4-NEXT:    s_nop 0
519 ; PRELOAD-4-NEXT:    s_nop 0
520 ; PRELOAD-4-NEXT:    s_nop 0
521 ; PRELOAD-4-NEXT:    s_nop 0
522 ; PRELOAD-4-NEXT:    s_nop 0
523 ; PRELOAD-4-NEXT:    s_nop 0
524 ; PRELOAD-4-NEXT:    s_nop 0
525 ; PRELOAD-4-NEXT:    s_nop 0
526 ; PRELOAD-4-NEXT:    s_nop 0
527 ; PRELOAD-4-NEXT:    s_nop 0
528 ; PRELOAD-4-NEXT:    s_nop 0
529 ; PRELOAD-4-NEXT:    s_nop 0
530 ; PRELOAD-4-NEXT:    s_nop 0
531 ; PRELOAD-4-NEXT:    s_nop 0
532 ; PRELOAD-4-NEXT:    s_nop 0
533 ; PRELOAD-4-NEXT:    s_nop 0
534 ; PRELOAD-4-NEXT:    s_nop 0
535 ; PRELOAD-4-NEXT:    s_nop 0
536 ; PRELOAD-4-NEXT:    s_nop 0
537 ; PRELOAD-4-NEXT:    s_nop 0
538 ; PRELOAD-4-NEXT:  ; %bb.0:
539 ; PRELOAD-4-NEXT:    s_mov_b32 s0, 0xffff
540 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s4
541 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
542 ; PRELOAD-4-NEXT:    v_and_b32_sdwa v1, s0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
543 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
544 ; PRELOAD-4-NEXT:    s_endpgm
546 ; PRELOAD-8-LABEL: ptr1_i8_zext_arg:
547 ; PRELOAD-8:         s_nop 0
548 ; PRELOAD-8-NEXT:    s_nop 0
549 ; PRELOAD-8-NEXT:    s_nop 0
550 ; PRELOAD-8-NEXT:    s_nop 0
551 ; PRELOAD-8-NEXT:    s_nop 0
552 ; PRELOAD-8-NEXT:    s_nop 0
553 ; PRELOAD-8-NEXT:    s_nop 0
554 ; PRELOAD-8-NEXT:    s_nop 0
555 ; PRELOAD-8-NEXT:    s_nop 0
556 ; PRELOAD-8-NEXT:    s_nop 0
557 ; PRELOAD-8-NEXT:    s_nop 0
558 ; PRELOAD-8-NEXT:    s_nop 0
559 ; PRELOAD-8-NEXT:    s_nop 0
560 ; PRELOAD-8-NEXT:    s_nop 0
561 ; PRELOAD-8-NEXT:    s_nop 0
562 ; PRELOAD-8-NEXT:    s_nop 0
563 ; PRELOAD-8-NEXT:    s_nop 0
564 ; PRELOAD-8-NEXT:    s_nop 0
565 ; PRELOAD-8-NEXT:    s_nop 0
566 ; PRELOAD-8-NEXT:    s_nop 0
567 ; PRELOAD-8-NEXT:    s_nop 0
568 ; PRELOAD-8-NEXT:    s_nop 0
569 ; PRELOAD-8-NEXT:    s_nop 0
570 ; PRELOAD-8-NEXT:    s_nop 0
571 ; PRELOAD-8-NEXT:    s_nop 0
572 ; PRELOAD-8-NEXT:    s_nop 0
573 ; PRELOAD-8-NEXT:    s_nop 0
574 ; PRELOAD-8-NEXT:    s_nop 0
575 ; PRELOAD-8-NEXT:    s_nop 0
576 ; PRELOAD-8-NEXT:    s_nop 0
577 ; PRELOAD-8-NEXT:    s_nop 0
578 ; PRELOAD-8-NEXT:    s_nop 0
579 ; PRELOAD-8-NEXT:    s_nop 0
580 ; PRELOAD-8-NEXT:    s_nop 0
581 ; PRELOAD-8-NEXT:    s_nop 0
582 ; PRELOAD-8-NEXT:    s_nop 0
583 ; PRELOAD-8-NEXT:    s_nop 0
584 ; PRELOAD-8-NEXT:    s_nop 0
585 ; PRELOAD-8-NEXT:    s_nop 0
586 ; PRELOAD-8-NEXT:    s_nop 0
587 ; PRELOAD-8-NEXT:    s_nop 0
588 ; PRELOAD-8-NEXT:    s_nop 0
589 ; PRELOAD-8-NEXT:    s_nop 0
590 ; PRELOAD-8-NEXT:    s_nop 0
591 ; PRELOAD-8-NEXT:    s_nop 0
592 ; PRELOAD-8-NEXT:    s_nop 0
593 ; PRELOAD-8-NEXT:    s_nop 0
594 ; PRELOAD-8-NEXT:    s_nop 0
595 ; PRELOAD-8-NEXT:    s_nop 0
596 ; PRELOAD-8-NEXT:    s_nop 0
597 ; PRELOAD-8-NEXT:    s_nop 0
598 ; PRELOAD-8-NEXT:    s_nop 0
599 ; PRELOAD-8-NEXT:    s_nop 0
600 ; PRELOAD-8-NEXT:    s_nop 0
601 ; PRELOAD-8-NEXT:    s_nop 0
602 ; PRELOAD-8-NEXT:    s_nop 0
603 ; PRELOAD-8-NEXT:    s_nop 0
604 ; PRELOAD-8-NEXT:    s_nop 0
605 ; PRELOAD-8-NEXT:    s_nop 0
606 ; PRELOAD-8-NEXT:    s_nop 0
607 ; PRELOAD-8-NEXT:    s_nop 0
608 ; PRELOAD-8-NEXT:    s_nop 0
609 ; PRELOAD-8-NEXT:    s_nop 0
610 ; PRELOAD-8-NEXT:    s_nop 0
611 ; PRELOAD-8-NEXT:  ; %bb.0:
612 ; PRELOAD-8-NEXT:    s_mov_b32 s0, 0xffff
613 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s4
614 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
615 ; PRELOAD-8-NEXT:    v_and_b32_sdwa v1, s0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
616 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
617 ; PRELOAD-8-NEXT:    s_endpgm
618   %ext = zext i8 %arg0 to i32
619   store i32 %ext, ptr addrspace(1) %out, align 4
620   ret void
623 define amdgpu_kernel void @ptr1_i16_preload_arg(ptr addrspace(1) %out, i16 %arg0) {
624 ; NO-PRELOAD-LABEL: ptr1_i16_preload_arg:
625 ; NO-PRELOAD:       ; %bb.0:
626 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
627 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
628 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
629 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
630 ; NO-PRELOAD-NEXT:    s_and_b32 s0, s4, 0xffff
631 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s0
632 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
633 ; NO-PRELOAD-NEXT:    s_endpgm
635 ; PRELOAD-1-LABEL: ptr1_i16_preload_arg:
636 ; PRELOAD-1:         s_nop 0
637 ; PRELOAD-1-NEXT:    s_nop 0
638 ; PRELOAD-1-NEXT:    s_nop 0
639 ; PRELOAD-1-NEXT:    s_nop 0
640 ; PRELOAD-1-NEXT:    s_nop 0
641 ; PRELOAD-1-NEXT:    s_nop 0
642 ; PRELOAD-1-NEXT:    s_nop 0
643 ; PRELOAD-1-NEXT:    s_nop 0
644 ; PRELOAD-1-NEXT:    s_nop 0
645 ; PRELOAD-1-NEXT:    s_nop 0
646 ; PRELOAD-1-NEXT:    s_nop 0
647 ; PRELOAD-1-NEXT:    s_nop 0
648 ; PRELOAD-1-NEXT:    s_nop 0
649 ; PRELOAD-1-NEXT:    s_nop 0
650 ; PRELOAD-1-NEXT:    s_nop 0
651 ; PRELOAD-1-NEXT:    s_nop 0
652 ; PRELOAD-1-NEXT:    s_nop 0
653 ; PRELOAD-1-NEXT:    s_nop 0
654 ; PRELOAD-1-NEXT:    s_nop 0
655 ; PRELOAD-1-NEXT:    s_nop 0
656 ; PRELOAD-1-NEXT:    s_nop 0
657 ; PRELOAD-1-NEXT:    s_nop 0
658 ; PRELOAD-1-NEXT:    s_nop 0
659 ; PRELOAD-1-NEXT:    s_nop 0
660 ; PRELOAD-1-NEXT:    s_nop 0
661 ; PRELOAD-1-NEXT:    s_nop 0
662 ; PRELOAD-1-NEXT:    s_nop 0
663 ; PRELOAD-1-NEXT:    s_nop 0
664 ; PRELOAD-1-NEXT:    s_nop 0
665 ; PRELOAD-1-NEXT:    s_nop 0
666 ; PRELOAD-1-NEXT:    s_nop 0
667 ; PRELOAD-1-NEXT:    s_nop 0
668 ; PRELOAD-1-NEXT:    s_nop 0
669 ; PRELOAD-1-NEXT:    s_nop 0
670 ; PRELOAD-1-NEXT:    s_nop 0
671 ; PRELOAD-1-NEXT:    s_nop 0
672 ; PRELOAD-1-NEXT:    s_nop 0
673 ; PRELOAD-1-NEXT:    s_nop 0
674 ; PRELOAD-1-NEXT:    s_nop 0
675 ; PRELOAD-1-NEXT:    s_nop 0
676 ; PRELOAD-1-NEXT:    s_nop 0
677 ; PRELOAD-1-NEXT:    s_nop 0
678 ; PRELOAD-1-NEXT:    s_nop 0
679 ; PRELOAD-1-NEXT:    s_nop 0
680 ; PRELOAD-1-NEXT:    s_nop 0
681 ; PRELOAD-1-NEXT:    s_nop 0
682 ; PRELOAD-1-NEXT:    s_nop 0
683 ; PRELOAD-1-NEXT:    s_nop 0
684 ; PRELOAD-1-NEXT:    s_nop 0
685 ; PRELOAD-1-NEXT:    s_nop 0
686 ; PRELOAD-1-NEXT:    s_nop 0
687 ; PRELOAD-1-NEXT:    s_nop 0
688 ; PRELOAD-1-NEXT:    s_nop 0
689 ; PRELOAD-1-NEXT:    s_nop 0
690 ; PRELOAD-1-NEXT:    s_nop 0
691 ; PRELOAD-1-NEXT:    s_nop 0
692 ; PRELOAD-1-NEXT:    s_nop 0
693 ; PRELOAD-1-NEXT:    s_nop 0
694 ; PRELOAD-1-NEXT:    s_nop 0
695 ; PRELOAD-1-NEXT:    s_nop 0
696 ; PRELOAD-1-NEXT:    s_nop 0
697 ; PRELOAD-1-NEXT:    s_nop 0
698 ; PRELOAD-1-NEXT:    s_nop 0
699 ; PRELOAD-1-NEXT:    s_nop 0
700 ; PRELOAD-1-NEXT:  ; %bb.0:
701 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
702 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
703 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
704 ; PRELOAD-1-NEXT:    s_and_b32 s0, s0, 0xffff
705 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
706 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
707 ; PRELOAD-1-NEXT:    s_endpgm
709 ; PRELOAD-2-LABEL: ptr1_i16_preload_arg:
710 ; PRELOAD-2:         s_nop 0
711 ; PRELOAD-2-NEXT:    s_nop 0
712 ; PRELOAD-2-NEXT:    s_nop 0
713 ; PRELOAD-2-NEXT:    s_nop 0
714 ; PRELOAD-2-NEXT:    s_nop 0
715 ; PRELOAD-2-NEXT:    s_nop 0
716 ; PRELOAD-2-NEXT:    s_nop 0
717 ; PRELOAD-2-NEXT:    s_nop 0
718 ; PRELOAD-2-NEXT:    s_nop 0
719 ; PRELOAD-2-NEXT:    s_nop 0
720 ; PRELOAD-2-NEXT:    s_nop 0
721 ; PRELOAD-2-NEXT:    s_nop 0
722 ; PRELOAD-2-NEXT:    s_nop 0
723 ; PRELOAD-2-NEXT:    s_nop 0
724 ; PRELOAD-2-NEXT:    s_nop 0
725 ; PRELOAD-2-NEXT:    s_nop 0
726 ; PRELOAD-2-NEXT:    s_nop 0
727 ; PRELOAD-2-NEXT:    s_nop 0
728 ; PRELOAD-2-NEXT:    s_nop 0
729 ; PRELOAD-2-NEXT:    s_nop 0
730 ; PRELOAD-2-NEXT:    s_nop 0
731 ; PRELOAD-2-NEXT:    s_nop 0
732 ; PRELOAD-2-NEXT:    s_nop 0
733 ; PRELOAD-2-NEXT:    s_nop 0
734 ; PRELOAD-2-NEXT:    s_nop 0
735 ; PRELOAD-2-NEXT:    s_nop 0
736 ; PRELOAD-2-NEXT:    s_nop 0
737 ; PRELOAD-2-NEXT:    s_nop 0
738 ; PRELOAD-2-NEXT:    s_nop 0
739 ; PRELOAD-2-NEXT:    s_nop 0
740 ; PRELOAD-2-NEXT:    s_nop 0
741 ; PRELOAD-2-NEXT:    s_nop 0
742 ; PRELOAD-2-NEXT:    s_nop 0
743 ; PRELOAD-2-NEXT:    s_nop 0
744 ; PRELOAD-2-NEXT:    s_nop 0
745 ; PRELOAD-2-NEXT:    s_nop 0
746 ; PRELOAD-2-NEXT:    s_nop 0
747 ; PRELOAD-2-NEXT:    s_nop 0
748 ; PRELOAD-2-NEXT:    s_nop 0
749 ; PRELOAD-2-NEXT:    s_nop 0
750 ; PRELOAD-2-NEXT:    s_nop 0
751 ; PRELOAD-2-NEXT:    s_nop 0
752 ; PRELOAD-2-NEXT:    s_nop 0
753 ; PRELOAD-2-NEXT:    s_nop 0
754 ; PRELOAD-2-NEXT:    s_nop 0
755 ; PRELOAD-2-NEXT:    s_nop 0
756 ; PRELOAD-2-NEXT:    s_nop 0
757 ; PRELOAD-2-NEXT:    s_nop 0
758 ; PRELOAD-2-NEXT:    s_nop 0
759 ; PRELOAD-2-NEXT:    s_nop 0
760 ; PRELOAD-2-NEXT:    s_nop 0
761 ; PRELOAD-2-NEXT:    s_nop 0
762 ; PRELOAD-2-NEXT:    s_nop 0
763 ; PRELOAD-2-NEXT:    s_nop 0
764 ; PRELOAD-2-NEXT:    s_nop 0
765 ; PRELOAD-2-NEXT:    s_nop 0
766 ; PRELOAD-2-NEXT:    s_nop 0
767 ; PRELOAD-2-NEXT:    s_nop 0
768 ; PRELOAD-2-NEXT:    s_nop 0
769 ; PRELOAD-2-NEXT:    s_nop 0
770 ; PRELOAD-2-NEXT:    s_nop 0
771 ; PRELOAD-2-NEXT:    s_nop 0
772 ; PRELOAD-2-NEXT:    s_nop 0
773 ; PRELOAD-2-NEXT:    s_nop 0
774 ; PRELOAD-2-NEXT:  ; %bb.0:
775 ; PRELOAD-2-NEXT:    s_and_b32 s0, s4, 0xffff
776 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
777 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s0
778 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
779 ; PRELOAD-2-NEXT:    s_endpgm
781 ; PRELOAD-4-LABEL: ptr1_i16_preload_arg:
782 ; PRELOAD-4:         s_nop 0
783 ; PRELOAD-4-NEXT:    s_nop 0
784 ; PRELOAD-4-NEXT:    s_nop 0
785 ; PRELOAD-4-NEXT:    s_nop 0
786 ; PRELOAD-4-NEXT:    s_nop 0
787 ; PRELOAD-4-NEXT:    s_nop 0
788 ; PRELOAD-4-NEXT:    s_nop 0
789 ; PRELOAD-4-NEXT:    s_nop 0
790 ; PRELOAD-4-NEXT:    s_nop 0
791 ; PRELOAD-4-NEXT:    s_nop 0
792 ; PRELOAD-4-NEXT:    s_nop 0
793 ; PRELOAD-4-NEXT:    s_nop 0
794 ; PRELOAD-4-NEXT:    s_nop 0
795 ; PRELOAD-4-NEXT:    s_nop 0
796 ; PRELOAD-4-NEXT:    s_nop 0
797 ; PRELOAD-4-NEXT:    s_nop 0
798 ; PRELOAD-4-NEXT:    s_nop 0
799 ; PRELOAD-4-NEXT:    s_nop 0
800 ; PRELOAD-4-NEXT:    s_nop 0
801 ; PRELOAD-4-NEXT:    s_nop 0
802 ; PRELOAD-4-NEXT:    s_nop 0
803 ; PRELOAD-4-NEXT:    s_nop 0
804 ; PRELOAD-4-NEXT:    s_nop 0
805 ; PRELOAD-4-NEXT:    s_nop 0
806 ; PRELOAD-4-NEXT:    s_nop 0
807 ; PRELOAD-4-NEXT:    s_nop 0
808 ; PRELOAD-4-NEXT:    s_nop 0
809 ; PRELOAD-4-NEXT:    s_nop 0
810 ; PRELOAD-4-NEXT:    s_nop 0
811 ; PRELOAD-4-NEXT:    s_nop 0
812 ; PRELOAD-4-NEXT:    s_nop 0
813 ; PRELOAD-4-NEXT:    s_nop 0
814 ; PRELOAD-4-NEXT:    s_nop 0
815 ; PRELOAD-4-NEXT:    s_nop 0
816 ; PRELOAD-4-NEXT:    s_nop 0
817 ; PRELOAD-4-NEXT:    s_nop 0
818 ; PRELOAD-4-NEXT:    s_nop 0
819 ; PRELOAD-4-NEXT:    s_nop 0
820 ; PRELOAD-4-NEXT:    s_nop 0
821 ; PRELOAD-4-NEXT:    s_nop 0
822 ; PRELOAD-4-NEXT:    s_nop 0
823 ; PRELOAD-4-NEXT:    s_nop 0
824 ; PRELOAD-4-NEXT:    s_nop 0
825 ; PRELOAD-4-NEXT:    s_nop 0
826 ; PRELOAD-4-NEXT:    s_nop 0
827 ; PRELOAD-4-NEXT:    s_nop 0
828 ; PRELOAD-4-NEXT:    s_nop 0
829 ; PRELOAD-4-NEXT:    s_nop 0
830 ; PRELOAD-4-NEXT:    s_nop 0
831 ; PRELOAD-4-NEXT:    s_nop 0
832 ; PRELOAD-4-NEXT:    s_nop 0
833 ; PRELOAD-4-NEXT:    s_nop 0
834 ; PRELOAD-4-NEXT:    s_nop 0
835 ; PRELOAD-4-NEXT:    s_nop 0
836 ; PRELOAD-4-NEXT:    s_nop 0
837 ; PRELOAD-4-NEXT:    s_nop 0
838 ; PRELOAD-4-NEXT:    s_nop 0
839 ; PRELOAD-4-NEXT:    s_nop 0
840 ; PRELOAD-4-NEXT:    s_nop 0
841 ; PRELOAD-4-NEXT:    s_nop 0
842 ; PRELOAD-4-NEXT:    s_nop 0
843 ; PRELOAD-4-NEXT:    s_nop 0
844 ; PRELOAD-4-NEXT:    s_nop 0
845 ; PRELOAD-4-NEXT:    s_nop 0
846 ; PRELOAD-4-NEXT:  ; %bb.0:
847 ; PRELOAD-4-NEXT:    s_and_b32 s0, s4, 0xffff
848 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
849 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s0
850 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
851 ; PRELOAD-4-NEXT:    s_endpgm
853 ; PRELOAD-8-LABEL: ptr1_i16_preload_arg:
854 ; PRELOAD-8:         s_nop 0
855 ; PRELOAD-8-NEXT:    s_nop 0
856 ; PRELOAD-8-NEXT:    s_nop 0
857 ; PRELOAD-8-NEXT:    s_nop 0
858 ; PRELOAD-8-NEXT:    s_nop 0
859 ; PRELOAD-8-NEXT:    s_nop 0
860 ; PRELOAD-8-NEXT:    s_nop 0
861 ; PRELOAD-8-NEXT:    s_nop 0
862 ; PRELOAD-8-NEXT:    s_nop 0
863 ; PRELOAD-8-NEXT:    s_nop 0
864 ; PRELOAD-8-NEXT:    s_nop 0
865 ; PRELOAD-8-NEXT:    s_nop 0
866 ; PRELOAD-8-NEXT:    s_nop 0
867 ; PRELOAD-8-NEXT:    s_nop 0
868 ; PRELOAD-8-NEXT:    s_nop 0
869 ; PRELOAD-8-NEXT:    s_nop 0
870 ; PRELOAD-8-NEXT:    s_nop 0
871 ; PRELOAD-8-NEXT:    s_nop 0
872 ; PRELOAD-8-NEXT:    s_nop 0
873 ; PRELOAD-8-NEXT:    s_nop 0
874 ; PRELOAD-8-NEXT:    s_nop 0
875 ; PRELOAD-8-NEXT:    s_nop 0
876 ; PRELOAD-8-NEXT:    s_nop 0
877 ; PRELOAD-8-NEXT:    s_nop 0
878 ; PRELOAD-8-NEXT:    s_nop 0
879 ; PRELOAD-8-NEXT:    s_nop 0
880 ; PRELOAD-8-NEXT:    s_nop 0
881 ; PRELOAD-8-NEXT:    s_nop 0
882 ; PRELOAD-8-NEXT:    s_nop 0
883 ; PRELOAD-8-NEXT:    s_nop 0
884 ; PRELOAD-8-NEXT:    s_nop 0
885 ; PRELOAD-8-NEXT:    s_nop 0
886 ; PRELOAD-8-NEXT:    s_nop 0
887 ; PRELOAD-8-NEXT:    s_nop 0
888 ; PRELOAD-8-NEXT:    s_nop 0
889 ; PRELOAD-8-NEXT:    s_nop 0
890 ; PRELOAD-8-NEXT:    s_nop 0
891 ; PRELOAD-8-NEXT:    s_nop 0
892 ; PRELOAD-8-NEXT:    s_nop 0
893 ; PRELOAD-8-NEXT:    s_nop 0
894 ; PRELOAD-8-NEXT:    s_nop 0
895 ; PRELOAD-8-NEXT:    s_nop 0
896 ; PRELOAD-8-NEXT:    s_nop 0
897 ; PRELOAD-8-NEXT:    s_nop 0
898 ; PRELOAD-8-NEXT:    s_nop 0
899 ; PRELOAD-8-NEXT:    s_nop 0
900 ; PRELOAD-8-NEXT:    s_nop 0
901 ; PRELOAD-8-NEXT:    s_nop 0
902 ; PRELOAD-8-NEXT:    s_nop 0
903 ; PRELOAD-8-NEXT:    s_nop 0
904 ; PRELOAD-8-NEXT:    s_nop 0
905 ; PRELOAD-8-NEXT:    s_nop 0
906 ; PRELOAD-8-NEXT:    s_nop 0
907 ; PRELOAD-8-NEXT:    s_nop 0
908 ; PRELOAD-8-NEXT:    s_nop 0
909 ; PRELOAD-8-NEXT:    s_nop 0
910 ; PRELOAD-8-NEXT:    s_nop 0
911 ; PRELOAD-8-NEXT:    s_nop 0
912 ; PRELOAD-8-NEXT:    s_nop 0
913 ; PRELOAD-8-NEXT:    s_nop 0
914 ; PRELOAD-8-NEXT:    s_nop 0
915 ; PRELOAD-8-NEXT:    s_nop 0
916 ; PRELOAD-8-NEXT:    s_nop 0
917 ; PRELOAD-8-NEXT:    s_nop 0
918 ; PRELOAD-8-NEXT:  ; %bb.0:
919 ; PRELOAD-8-NEXT:    s_and_b32 s0, s4, 0xffff
920 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
921 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s0
922 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
923 ; PRELOAD-8-NEXT:    s_endpgm
924   %ext = zext i16 %arg0 to i32
925   store i32 %ext, ptr addrspace(1) %out, align 4
926   ret void
929 define amdgpu_kernel void @ptr1_i32_preload_arg(ptr addrspace(1) %out, i32 %arg0) {
930 ; NO-PRELOAD-LABEL: ptr1_i32_preload_arg:
931 ; NO-PRELOAD:       ; %bb.0:
932 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
933 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
934 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
935 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
936 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s4
937 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
938 ; NO-PRELOAD-NEXT:    s_endpgm
940 ; PRELOAD-1-LABEL: ptr1_i32_preload_arg:
941 ; PRELOAD-1:         s_nop 0
942 ; PRELOAD-1-NEXT:    s_nop 0
943 ; PRELOAD-1-NEXT:    s_nop 0
944 ; PRELOAD-1-NEXT:    s_nop 0
945 ; PRELOAD-1-NEXT:    s_nop 0
946 ; PRELOAD-1-NEXT:    s_nop 0
947 ; PRELOAD-1-NEXT:    s_nop 0
948 ; PRELOAD-1-NEXT:    s_nop 0
949 ; PRELOAD-1-NEXT:    s_nop 0
950 ; PRELOAD-1-NEXT:    s_nop 0
951 ; PRELOAD-1-NEXT:    s_nop 0
952 ; PRELOAD-1-NEXT:    s_nop 0
953 ; PRELOAD-1-NEXT:    s_nop 0
954 ; PRELOAD-1-NEXT:    s_nop 0
955 ; PRELOAD-1-NEXT:    s_nop 0
956 ; PRELOAD-1-NEXT:    s_nop 0
957 ; PRELOAD-1-NEXT:    s_nop 0
958 ; PRELOAD-1-NEXT:    s_nop 0
959 ; PRELOAD-1-NEXT:    s_nop 0
960 ; PRELOAD-1-NEXT:    s_nop 0
961 ; PRELOAD-1-NEXT:    s_nop 0
962 ; PRELOAD-1-NEXT:    s_nop 0
963 ; PRELOAD-1-NEXT:    s_nop 0
964 ; PRELOAD-1-NEXT:    s_nop 0
965 ; PRELOAD-1-NEXT:    s_nop 0
966 ; PRELOAD-1-NEXT:    s_nop 0
967 ; PRELOAD-1-NEXT:    s_nop 0
968 ; PRELOAD-1-NEXT:    s_nop 0
969 ; PRELOAD-1-NEXT:    s_nop 0
970 ; PRELOAD-1-NEXT:    s_nop 0
971 ; PRELOAD-1-NEXT:    s_nop 0
972 ; PRELOAD-1-NEXT:    s_nop 0
973 ; PRELOAD-1-NEXT:    s_nop 0
974 ; PRELOAD-1-NEXT:    s_nop 0
975 ; PRELOAD-1-NEXT:    s_nop 0
976 ; PRELOAD-1-NEXT:    s_nop 0
977 ; PRELOAD-1-NEXT:    s_nop 0
978 ; PRELOAD-1-NEXT:    s_nop 0
979 ; PRELOAD-1-NEXT:    s_nop 0
980 ; PRELOAD-1-NEXT:    s_nop 0
981 ; PRELOAD-1-NEXT:    s_nop 0
982 ; PRELOAD-1-NEXT:    s_nop 0
983 ; PRELOAD-1-NEXT:    s_nop 0
984 ; PRELOAD-1-NEXT:    s_nop 0
985 ; PRELOAD-1-NEXT:    s_nop 0
986 ; PRELOAD-1-NEXT:    s_nop 0
987 ; PRELOAD-1-NEXT:    s_nop 0
988 ; PRELOAD-1-NEXT:    s_nop 0
989 ; PRELOAD-1-NEXT:    s_nop 0
990 ; PRELOAD-1-NEXT:    s_nop 0
991 ; PRELOAD-1-NEXT:    s_nop 0
992 ; PRELOAD-1-NEXT:    s_nop 0
993 ; PRELOAD-1-NEXT:    s_nop 0
994 ; PRELOAD-1-NEXT:    s_nop 0
995 ; PRELOAD-1-NEXT:    s_nop 0
996 ; PRELOAD-1-NEXT:    s_nop 0
997 ; PRELOAD-1-NEXT:    s_nop 0
998 ; PRELOAD-1-NEXT:    s_nop 0
999 ; PRELOAD-1-NEXT:    s_nop 0
1000 ; PRELOAD-1-NEXT:    s_nop 0
1001 ; PRELOAD-1-NEXT:    s_nop 0
1002 ; PRELOAD-1-NEXT:    s_nop 0
1003 ; PRELOAD-1-NEXT:    s_nop 0
1004 ; PRELOAD-1-NEXT:    s_nop 0
1005 ; PRELOAD-1-NEXT:  ; %bb.0:
1006 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
1007 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
1008 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
1009 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
1010 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1011 ; PRELOAD-1-NEXT:    s_endpgm
1013 ; PRELOAD-2-LABEL: ptr1_i32_preload_arg:
1014 ; PRELOAD-2:         s_nop 0
1015 ; PRELOAD-2-NEXT:    s_nop 0
1016 ; PRELOAD-2-NEXT:    s_nop 0
1017 ; PRELOAD-2-NEXT:    s_nop 0
1018 ; PRELOAD-2-NEXT:    s_nop 0
1019 ; PRELOAD-2-NEXT:    s_nop 0
1020 ; PRELOAD-2-NEXT:    s_nop 0
1021 ; PRELOAD-2-NEXT:    s_nop 0
1022 ; PRELOAD-2-NEXT:    s_nop 0
1023 ; PRELOAD-2-NEXT:    s_nop 0
1024 ; PRELOAD-2-NEXT:    s_nop 0
1025 ; PRELOAD-2-NEXT:    s_nop 0
1026 ; PRELOAD-2-NEXT:    s_nop 0
1027 ; PRELOAD-2-NEXT:    s_nop 0
1028 ; PRELOAD-2-NEXT:    s_nop 0
1029 ; PRELOAD-2-NEXT:    s_nop 0
1030 ; PRELOAD-2-NEXT:    s_nop 0
1031 ; PRELOAD-2-NEXT:    s_nop 0
1032 ; PRELOAD-2-NEXT:    s_nop 0
1033 ; PRELOAD-2-NEXT:    s_nop 0
1034 ; PRELOAD-2-NEXT:    s_nop 0
1035 ; PRELOAD-2-NEXT:    s_nop 0
1036 ; PRELOAD-2-NEXT:    s_nop 0
1037 ; PRELOAD-2-NEXT:    s_nop 0
1038 ; PRELOAD-2-NEXT:    s_nop 0
1039 ; PRELOAD-2-NEXT:    s_nop 0
1040 ; PRELOAD-2-NEXT:    s_nop 0
1041 ; PRELOAD-2-NEXT:    s_nop 0
1042 ; PRELOAD-2-NEXT:    s_nop 0
1043 ; PRELOAD-2-NEXT:    s_nop 0
1044 ; PRELOAD-2-NEXT:    s_nop 0
1045 ; PRELOAD-2-NEXT:    s_nop 0
1046 ; PRELOAD-2-NEXT:    s_nop 0
1047 ; PRELOAD-2-NEXT:    s_nop 0
1048 ; PRELOAD-2-NEXT:    s_nop 0
1049 ; PRELOAD-2-NEXT:    s_nop 0
1050 ; PRELOAD-2-NEXT:    s_nop 0
1051 ; PRELOAD-2-NEXT:    s_nop 0
1052 ; PRELOAD-2-NEXT:    s_nop 0
1053 ; PRELOAD-2-NEXT:    s_nop 0
1054 ; PRELOAD-2-NEXT:    s_nop 0
1055 ; PRELOAD-2-NEXT:    s_nop 0
1056 ; PRELOAD-2-NEXT:    s_nop 0
1057 ; PRELOAD-2-NEXT:    s_nop 0
1058 ; PRELOAD-2-NEXT:    s_nop 0
1059 ; PRELOAD-2-NEXT:    s_nop 0
1060 ; PRELOAD-2-NEXT:    s_nop 0
1061 ; PRELOAD-2-NEXT:    s_nop 0
1062 ; PRELOAD-2-NEXT:    s_nop 0
1063 ; PRELOAD-2-NEXT:    s_nop 0
1064 ; PRELOAD-2-NEXT:    s_nop 0
1065 ; PRELOAD-2-NEXT:    s_nop 0
1066 ; PRELOAD-2-NEXT:    s_nop 0
1067 ; PRELOAD-2-NEXT:    s_nop 0
1068 ; PRELOAD-2-NEXT:    s_nop 0
1069 ; PRELOAD-2-NEXT:    s_nop 0
1070 ; PRELOAD-2-NEXT:    s_nop 0
1071 ; PRELOAD-2-NEXT:    s_nop 0
1072 ; PRELOAD-2-NEXT:    s_nop 0
1073 ; PRELOAD-2-NEXT:    s_nop 0
1074 ; PRELOAD-2-NEXT:    s_nop 0
1075 ; PRELOAD-2-NEXT:    s_nop 0
1076 ; PRELOAD-2-NEXT:    s_nop 0
1077 ; PRELOAD-2-NEXT:    s_nop 0
1078 ; PRELOAD-2-NEXT:  ; %bb.0:
1079 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
1080 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s4
1081 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1082 ; PRELOAD-2-NEXT:    s_endpgm
1084 ; PRELOAD-4-LABEL: ptr1_i32_preload_arg:
1085 ; PRELOAD-4:         s_nop 0
1086 ; PRELOAD-4-NEXT:    s_nop 0
1087 ; PRELOAD-4-NEXT:    s_nop 0
1088 ; PRELOAD-4-NEXT:    s_nop 0
1089 ; PRELOAD-4-NEXT:    s_nop 0
1090 ; PRELOAD-4-NEXT:    s_nop 0
1091 ; PRELOAD-4-NEXT:    s_nop 0
1092 ; PRELOAD-4-NEXT:    s_nop 0
1093 ; PRELOAD-4-NEXT:    s_nop 0
1094 ; PRELOAD-4-NEXT:    s_nop 0
1095 ; PRELOAD-4-NEXT:    s_nop 0
1096 ; PRELOAD-4-NEXT:    s_nop 0
1097 ; PRELOAD-4-NEXT:    s_nop 0
1098 ; PRELOAD-4-NEXT:    s_nop 0
1099 ; PRELOAD-4-NEXT:    s_nop 0
1100 ; PRELOAD-4-NEXT:    s_nop 0
1101 ; PRELOAD-4-NEXT:    s_nop 0
1102 ; PRELOAD-4-NEXT:    s_nop 0
1103 ; PRELOAD-4-NEXT:    s_nop 0
1104 ; PRELOAD-4-NEXT:    s_nop 0
1105 ; PRELOAD-4-NEXT:    s_nop 0
1106 ; PRELOAD-4-NEXT:    s_nop 0
1107 ; PRELOAD-4-NEXT:    s_nop 0
1108 ; PRELOAD-4-NEXT:    s_nop 0
1109 ; PRELOAD-4-NEXT:    s_nop 0
1110 ; PRELOAD-4-NEXT:    s_nop 0
1111 ; PRELOAD-4-NEXT:    s_nop 0
1112 ; PRELOAD-4-NEXT:    s_nop 0
1113 ; PRELOAD-4-NEXT:    s_nop 0
1114 ; PRELOAD-4-NEXT:    s_nop 0
1115 ; PRELOAD-4-NEXT:    s_nop 0
1116 ; PRELOAD-4-NEXT:    s_nop 0
1117 ; PRELOAD-4-NEXT:    s_nop 0
1118 ; PRELOAD-4-NEXT:    s_nop 0
1119 ; PRELOAD-4-NEXT:    s_nop 0
1120 ; PRELOAD-4-NEXT:    s_nop 0
1121 ; PRELOAD-4-NEXT:    s_nop 0
1122 ; PRELOAD-4-NEXT:    s_nop 0
1123 ; PRELOAD-4-NEXT:    s_nop 0
1124 ; PRELOAD-4-NEXT:    s_nop 0
1125 ; PRELOAD-4-NEXT:    s_nop 0
1126 ; PRELOAD-4-NEXT:    s_nop 0
1127 ; PRELOAD-4-NEXT:    s_nop 0
1128 ; PRELOAD-4-NEXT:    s_nop 0
1129 ; PRELOAD-4-NEXT:    s_nop 0
1130 ; PRELOAD-4-NEXT:    s_nop 0
1131 ; PRELOAD-4-NEXT:    s_nop 0
1132 ; PRELOAD-4-NEXT:    s_nop 0
1133 ; PRELOAD-4-NEXT:    s_nop 0
1134 ; PRELOAD-4-NEXT:    s_nop 0
1135 ; PRELOAD-4-NEXT:    s_nop 0
1136 ; PRELOAD-4-NEXT:    s_nop 0
1137 ; PRELOAD-4-NEXT:    s_nop 0
1138 ; PRELOAD-4-NEXT:    s_nop 0
1139 ; PRELOAD-4-NEXT:    s_nop 0
1140 ; PRELOAD-4-NEXT:    s_nop 0
1141 ; PRELOAD-4-NEXT:    s_nop 0
1142 ; PRELOAD-4-NEXT:    s_nop 0
1143 ; PRELOAD-4-NEXT:    s_nop 0
1144 ; PRELOAD-4-NEXT:    s_nop 0
1145 ; PRELOAD-4-NEXT:    s_nop 0
1146 ; PRELOAD-4-NEXT:    s_nop 0
1147 ; PRELOAD-4-NEXT:    s_nop 0
1148 ; PRELOAD-4-NEXT:    s_nop 0
1149 ; PRELOAD-4-NEXT:  ; %bb.0:
1150 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
1151 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s4
1152 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1153 ; PRELOAD-4-NEXT:    s_endpgm
1155 ; PRELOAD-8-LABEL: ptr1_i32_preload_arg:
1156 ; PRELOAD-8:         s_nop 0
1157 ; PRELOAD-8-NEXT:    s_nop 0
1158 ; PRELOAD-8-NEXT:    s_nop 0
1159 ; PRELOAD-8-NEXT:    s_nop 0
1160 ; PRELOAD-8-NEXT:    s_nop 0
1161 ; PRELOAD-8-NEXT:    s_nop 0
1162 ; PRELOAD-8-NEXT:    s_nop 0
1163 ; PRELOAD-8-NEXT:    s_nop 0
1164 ; PRELOAD-8-NEXT:    s_nop 0
1165 ; PRELOAD-8-NEXT:    s_nop 0
1166 ; PRELOAD-8-NEXT:    s_nop 0
1167 ; PRELOAD-8-NEXT:    s_nop 0
1168 ; PRELOAD-8-NEXT:    s_nop 0
1169 ; PRELOAD-8-NEXT:    s_nop 0
1170 ; PRELOAD-8-NEXT:    s_nop 0
1171 ; PRELOAD-8-NEXT:    s_nop 0
1172 ; PRELOAD-8-NEXT:    s_nop 0
1173 ; PRELOAD-8-NEXT:    s_nop 0
1174 ; PRELOAD-8-NEXT:    s_nop 0
1175 ; PRELOAD-8-NEXT:    s_nop 0
1176 ; PRELOAD-8-NEXT:    s_nop 0
1177 ; PRELOAD-8-NEXT:    s_nop 0
1178 ; PRELOAD-8-NEXT:    s_nop 0
1179 ; PRELOAD-8-NEXT:    s_nop 0
1180 ; PRELOAD-8-NEXT:    s_nop 0
1181 ; PRELOAD-8-NEXT:    s_nop 0
1182 ; PRELOAD-8-NEXT:    s_nop 0
1183 ; PRELOAD-8-NEXT:    s_nop 0
1184 ; PRELOAD-8-NEXT:    s_nop 0
1185 ; PRELOAD-8-NEXT:    s_nop 0
1186 ; PRELOAD-8-NEXT:    s_nop 0
1187 ; PRELOAD-8-NEXT:    s_nop 0
1188 ; PRELOAD-8-NEXT:    s_nop 0
1189 ; PRELOAD-8-NEXT:    s_nop 0
1190 ; PRELOAD-8-NEXT:    s_nop 0
1191 ; PRELOAD-8-NEXT:    s_nop 0
1192 ; PRELOAD-8-NEXT:    s_nop 0
1193 ; PRELOAD-8-NEXT:    s_nop 0
1194 ; PRELOAD-8-NEXT:    s_nop 0
1195 ; PRELOAD-8-NEXT:    s_nop 0
1196 ; PRELOAD-8-NEXT:    s_nop 0
1197 ; PRELOAD-8-NEXT:    s_nop 0
1198 ; PRELOAD-8-NEXT:    s_nop 0
1199 ; PRELOAD-8-NEXT:    s_nop 0
1200 ; PRELOAD-8-NEXT:    s_nop 0
1201 ; PRELOAD-8-NEXT:    s_nop 0
1202 ; PRELOAD-8-NEXT:    s_nop 0
1203 ; PRELOAD-8-NEXT:    s_nop 0
1204 ; PRELOAD-8-NEXT:    s_nop 0
1205 ; PRELOAD-8-NEXT:    s_nop 0
1206 ; PRELOAD-8-NEXT:    s_nop 0
1207 ; PRELOAD-8-NEXT:    s_nop 0
1208 ; PRELOAD-8-NEXT:    s_nop 0
1209 ; PRELOAD-8-NEXT:    s_nop 0
1210 ; PRELOAD-8-NEXT:    s_nop 0
1211 ; PRELOAD-8-NEXT:    s_nop 0
1212 ; PRELOAD-8-NEXT:    s_nop 0
1213 ; PRELOAD-8-NEXT:    s_nop 0
1214 ; PRELOAD-8-NEXT:    s_nop 0
1215 ; PRELOAD-8-NEXT:    s_nop 0
1216 ; PRELOAD-8-NEXT:    s_nop 0
1217 ; PRELOAD-8-NEXT:    s_nop 0
1218 ; PRELOAD-8-NEXT:    s_nop 0
1219 ; PRELOAD-8-NEXT:    s_nop 0
1220 ; PRELOAD-8-NEXT:  ; %bb.0:
1221 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
1222 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s4
1223 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1224 ; PRELOAD-8-NEXT:    s_endpgm
1225   store i32 %arg0, ptr addrspace(1) %out
1226   ret void
1229 ; Check alignment on the second preloaded arg.
1231 define amdgpu_kernel void @i32_ptr1_i32_preload_arg(i32 %arg0, ptr addrspace(1) %out, i32 %arg1) {
1232 ; NO-PRELOAD-LABEL: i32_ptr1_i32_preload_arg:
1233 ; NO-PRELOAD:       ; %bb.0:
1234 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x10
1235 ; NO-PRELOAD-NEXT:    s_load_dword s5, s[0:1], 0x0
1236 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x8
1237 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
1238 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
1239 ; NO-PRELOAD-NEXT:    s_add_i32 s0, s5, s4
1240 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s0
1241 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1242 ; NO-PRELOAD-NEXT:    s_endpgm
1244 ; PRELOAD-1-LABEL: i32_ptr1_i32_preload_arg:
1245 ; PRELOAD-1:         s_nop 0
1246 ; PRELOAD-1-NEXT:    s_nop 0
1247 ; PRELOAD-1-NEXT:    s_nop 0
1248 ; PRELOAD-1-NEXT:    s_nop 0
1249 ; PRELOAD-1-NEXT:    s_nop 0
1250 ; PRELOAD-1-NEXT:    s_nop 0
1251 ; PRELOAD-1-NEXT:    s_nop 0
1252 ; PRELOAD-1-NEXT:    s_nop 0
1253 ; PRELOAD-1-NEXT:    s_nop 0
1254 ; PRELOAD-1-NEXT:    s_nop 0
1255 ; PRELOAD-1-NEXT:    s_nop 0
1256 ; PRELOAD-1-NEXT:    s_nop 0
1257 ; PRELOAD-1-NEXT:    s_nop 0
1258 ; PRELOAD-1-NEXT:    s_nop 0
1259 ; PRELOAD-1-NEXT:    s_nop 0
1260 ; PRELOAD-1-NEXT:    s_nop 0
1261 ; PRELOAD-1-NEXT:    s_nop 0
1262 ; PRELOAD-1-NEXT:    s_nop 0
1263 ; PRELOAD-1-NEXT:    s_nop 0
1264 ; PRELOAD-1-NEXT:    s_nop 0
1265 ; PRELOAD-1-NEXT:    s_nop 0
1266 ; PRELOAD-1-NEXT:    s_nop 0
1267 ; PRELOAD-1-NEXT:    s_nop 0
1268 ; PRELOAD-1-NEXT:    s_nop 0
1269 ; PRELOAD-1-NEXT:    s_nop 0
1270 ; PRELOAD-1-NEXT:    s_nop 0
1271 ; PRELOAD-1-NEXT:    s_nop 0
1272 ; PRELOAD-1-NEXT:    s_nop 0
1273 ; PRELOAD-1-NEXT:    s_nop 0
1274 ; PRELOAD-1-NEXT:    s_nop 0
1275 ; PRELOAD-1-NEXT:    s_nop 0
1276 ; PRELOAD-1-NEXT:    s_nop 0
1277 ; PRELOAD-1-NEXT:    s_nop 0
1278 ; PRELOAD-1-NEXT:    s_nop 0
1279 ; PRELOAD-1-NEXT:    s_nop 0
1280 ; PRELOAD-1-NEXT:    s_nop 0
1281 ; PRELOAD-1-NEXT:    s_nop 0
1282 ; PRELOAD-1-NEXT:    s_nop 0
1283 ; PRELOAD-1-NEXT:    s_nop 0
1284 ; PRELOAD-1-NEXT:    s_nop 0
1285 ; PRELOAD-1-NEXT:    s_nop 0
1286 ; PRELOAD-1-NEXT:    s_nop 0
1287 ; PRELOAD-1-NEXT:    s_nop 0
1288 ; PRELOAD-1-NEXT:    s_nop 0
1289 ; PRELOAD-1-NEXT:    s_nop 0
1290 ; PRELOAD-1-NEXT:    s_nop 0
1291 ; PRELOAD-1-NEXT:    s_nop 0
1292 ; PRELOAD-1-NEXT:    s_nop 0
1293 ; PRELOAD-1-NEXT:    s_nop 0
1294 ; PRELOAD-1-NEXT:    s_nop 0
1295 ; PRELOAD-1-NEXT:    s_nop 0
1296 ; PRELOAD-1-NEXT:    s_nop 0
1297 ; PRELOAD-1-NEXT:    s_nop 0
1298 ; PRELOAD-1-NEXT:    s_nop 0
1299 ; PRELOAD-1-NEXT:    s_nop 0
1300 ; PRELOAD-1-NEXT:    s_nop 0
1301 ; PRELOAD-1-NEXT:    s_nop 0
1302 ; PRELOAD-1-NEXT:    s_nop 0
1303 ; PRELOAD-1-NEXT:    s_nop 0
1304 ; PRELOAD-1-NEXT:    s_nop 0
1305 ; PRELOAD-1-NEXT:    s_nop 0
1306 ; PRELOAD-1-NEXT:    s_nop 0
1307 ; PRELOAD-1-NEXT:    s_nop 0
1308 ; PRELOAD-1-NEXT:    s_nop 0
1309 ; PRELOAD-1-NEXT:  ; %bb.0:
1310 ; PRELOAD-1-NEXT:    s_load_dword s3, s[0:1], 0x10
1311 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[4:5], s[0:1], 0x8
1312 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
1313 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
1314 ; PRELOAD-1-NEXT:    s_add_i32 s0, s2, s3
1315 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
1316 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[4:5] sc0 sc1
1317 ; PRELOAD-1-NEXT:    s_endpgm
1319 ; PRELOAD-2-LABEL: i32_ptr1_i32_preload_arg:
1320 ; PRELOAD-2:         s_nop 0
1321 ; PRELOAD-2-NEXT:    s_nop 0
1322 ; PRELOAD-2-NEXT:    s_nop 0
1323 ; PRELOAD-2-NEXT:    s_nop 0
1324 ; PRELOAD-2-NEXT:    s_nop 0
1325 ; PRELOAD-2-NEXT:    s_nop 0
1326 ; PRELOAD-2-NEXT:    s_nop 0
1327 ; PRELOAD-2-NEXT:    s_nop 0
1328 ; PRELOAD-2-NEXT:    s_nop 0
1329 ; PRELOAD-2-NEXT:    s_nop 0
1330 ; PRELOAD-2-NEXT:    s_nop 0
1331 ; PRELOAD-2-NEXT:    s_nop 0
1332 ; PRELOAD-2-NEXT:    s_nop 0
1333 ; PRELOAD-2-NEXT:    s_nop 0
1334 ; PRELOAD-2-NEXT:    s_nop 0
1335 ; PRELOAD-2-NEXT:    s_nop 0
1336 ; PRELOAD-2-NEXT:    s_nop 0
1337 ; PRELOAD-2-NEXT:    s_nop 0
1338 ; PRELOAD-2-NEXT:    s_nop 0
1339 ; PRELOAD-2-NEXT:    s_nop 0
1340 ; PRELOAD-2-NEXT:    s_nop 0
1341 ; PRELOAD-2-NEXT:    s_nop 0
1342 ; PRELOAD-2-NEXT:    s_nop 0
1343 ; PRELOAD-2-NEXT:    s_nop 0
1344 ; PRELOAD-2-NEXT:    s_nop 0
1345 ; PRELOAD-2-NEXT:    s_nop 0
1346 ; PRELOAD-2-NEXT:    s_nop 0
1347 ; PRELOAD-2-NEXT:    s_nop 0
1348 ; PRELOAD-2-NEXT:    s_nop 0
1349 ; PRELOAD-2-NEXT:    s_nop 0
1350 ; PRELOAD-2-NEXT:    s_nop 0
1351 ; PRELOAD-2-NEXT:    s_nop 0
1352 ; PRELOAD-2-NEXT:    s_nop 0
1353 ; PRELOAD-2-NEXT:    s_nop 0
1354 ; PRELOAD-2-NEXT:    s_nop 0
1355 ; PRELOAD-2-NEXT:    s_nop 0
1356 ; PRELOAD-2-NEXT:    s_nop 0
1357 ; PRELOAD-2-NEXT:    s_nop 0
1358 ; PRELOAD-2-NEXT:    s_nop 0
1359 ; PRELOAD-2-NEXT:    s_nop 0
1360 ; PRELOAD-2-NEXT:    s_nop 0
1361 ; PRELOAD-2-NEXT:    s_nop 0
1362 ; PRELOAD-2-NEXT:    s_nop 0
1363 ; PRELOAD-2-NEXT:    s_nop 0
1364 ; PRELOAD-2-NEXT:    s_nop 0
1365 ; PRELOAD-2-NEXT:    s_nop 0
1366 ; PRELOAD-2-NEXT:    s_nop 0
1367 ; PRELOAD-2-NEXT:    s_nop 0
1368 ; PRELOAD-2-NEXT:    s_nop 0
1369 ; PRELOAD-2-NEXT:    s_nop 0
1370 ; PRELOAD-2-NEXT:    s_nop 0
1371 ; PRELOAD-2-NEXT:    s_nop 0
1372 ; PRELOAD-2-NEXT:    s_nop 0
1373 ; PRELOAD-2-NEXT:    s_nop 0
1374 ; PRELOAD-2-NEXT:    s_nop 0
1375 ; PRELOAD-2-NEXT:    s_nop 0
1376 ; PRELOAD-2-NEXT:    s_nop 0
1377 ; PRELOAD-2-NEXT:    s_nop 0
1378 ; PRELOAD-2-NEXT:    s_nop 0
1379 ; PRELOAD-2-NEXT:    s_nop 0
1380 ; PRELOAD-2-NEXT:    s_nop 0
1381 ; PRELOAD-2-NEXT:    s_nop 0
1382 ; PRELOAD-2-NEXT:    s_nop 0
1383 ; PRELOAD-2-NEXT:    s_nop 0
1384 ; PRELOAD-2-NEXT:  ; %bb.0:
1385 ; PRELOAD-2-NEXT:    s_load_dword s0, s[0:1], 0x10
1386 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
1387 ; PRELOAD-2-NEXT:    s_waitcnt lgkmcnt(0)
1388 ; PRELOAD-2-NEXT:    s_add_i32 s0, s2, s0
1389 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s0
1390 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[4:5] sc0 sc1
1391 ; PRELOAD-2-NEXT:    s_endpgm
1393 ; PRELOAD-4-LABEL: i32_ptr1_i32_preload_arg:
1394 ; PRELOAD-4:         s_nop 0
1395 ; PRELOAD-4-NEXT:    s_nop 0
1396 ; PRELOAD-4-NEXT:    s_nop 0
1397 ; PRELOAD-4-NEXT:    s_nop 0
1398 ; PRELOAD-4-NEXT:    s_nop 0
1399 ; PRELOAD-4-NEXT:    s_nop 0
1400 ; PRELOAD-4-NEXT:    s_nop 0
1401 ; PRELOAD-4-NEXT:    s_nop 0
1402 ; PRELOAD-4-NEXT:    s_nop 0
1403 ; PRELOAD-4-NEXT:    s_nop 0
1404 ; PRELOAD-4-NEXT:    s_nop 0
1405 ; PRELOAD-4-NEXT:    s_nop 0
1406 ; PRELOAD-4-NEXT:    s_nop 0
1407 ; PRELOAD-4-NEXT:    s_nop 0
1408 ; PRELOAD-4-NEXT:    s_nop 0
1409 ; PRELOAD-4-NEXT:    s_nop 0
1410 ; PRELOAD-4-NEXT:    s_nop 0
1411 ; PRELOAD-4-NEXT:    s_nop 0
1412 ; PRELOAD-4-NEXT:    s_nop 0
1413 ; PRELOAD-4-NEXT:    s_nop 0
1414 ; PRELOAD-4-NEXT:    s_nop 0
1415 ; PRELOAD-4-NEXT:    s_nop 0
1416 ; PRELOAD-4-NEXT:    s_nop 0
1417 ; PRELOAD-4-NEXT:    s_nop 0
1418 ; PRELOAD-4-NEXT:    s_nop 0
1419 ; PRELOAD-4-NEXT:    s_nop 0
1420 ; PRELOAD-4-NEXT:    s_nop 0
1421 ; PRELOAD-4-NEXT:    s_nop 0
1422 ; PRELOAD-4-NEXT:    s_nop 0
1423 ; PRELOAD-4-NEXT:    s_nop 0
1424 ; PRELOAD-4-NEXT:    s_nop 0
1425 ; PRELOAD-4-NEXT:    s_nop 0
1426 ; PRELOAD-4-NEXT:    s_nop 0
1427 ; PRELOAD-4-NEXT:    s_nop 0
1428 ; PRELOAD-4-NEXT:    s_nop 0
1429 ; PRELOAD-4-NEXT:    s_nop 0
1430 ; PRELOAD-4-NEXT:    s_nop 0
1431 ; PRELOAD-4-NEXT:    s_nop 0
1432 ; PRELOAD-4-NEXT:    s_nop 0
1433 ; PRELOAD-4-NEXT:    s_nop 0
1434 ; PRELOAD-4-NEXT:    s_nop 0
1435 ; PRELOAD-4-NEXT:    s_nop 0
1436 ; PRELOAD-4-NEXT:    s_nop 0
1437 ; PRELOAD-4-NEXT:    s_nop 0
1438 ; PRELOAD-4-NEXT:    s_nop 0
1439 ; PRELOAD-4-NEXT:    s_nop 0
1440 ; PRELOAD-4-NEXT:    s_nop 0
1441 ; PRELOAD-4-NEXT:    s_nop 0
1442 ; PRELOAD-4-NEXT:    s_nop 0
1443 ; PRELOAD-4-NEXT:    s_nop 0
1444 ; PRELOAD-4-NEXT:    s_nop 0
1445 ; PRELOAD-4-NEXT:    s_nop 0
1446 ; PRELOAD-4-NEXT:    s_nop 0
1447 ; PRELOAD-4-NEXT:    s_nop 0
1448 ; PRELOAD-4-NEXT:    s_nop 0
1449 ; PRELOAD-4-NEXT:    s_nop 0
1450 ; PRELOAD-4-NEXT:    s_nop 0
1451 ; PRELOAD-4-NEXT:    s_nop 0
1452 ; PRELOAD-4-NEXT:    s_nop 0
1453 ; PRELOAD-4-NEXT:    s_nop 0
1454 ; PRELOAD-4-NEXT:    s_nop 0
1455 ; PRELOAD-4-NEXT:    s_nop 0
1456 ; PRELOAD-4-NEXT:    s_nop 0
1457 ; PRELOAD-4-NEXT:    s_nop 0
1458 ; PRELOAD-4-NEXT:  ; %bb.0:
1459 ; PRELOAD-4-NEXT:    s_add_i32 s0, s2, s6
1460 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
1461 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s0
1462 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[4:5] sc0 sc1
1463 ; PRELOAD-4-NEXT:    s_endpgm
1465 ; PRELOAD-8-LABEL: i32_ptr1_i32_preload_arg:
1466 ; PRELOAD-8:         s_nop 0
1467 ; PRELOAD-8-NEXT:    s_nop 0
1468 ; PRELOAD-8-NEXT:    s_nop 0
1469 ; PRELOAD-8-NEXT:    s_nop 0
1470 ; PRELOAD-8-NEXT:    s_nop 0
1471 ; PRELOAD-8-NEXT:    s_nop 0
1472 ; PRELOAD-8-NEXT:    s_nop 0
1473 ; PRELOAD-8-NEXT:    s_nop 0
1474 ; PRELOAD-8-NEXT:    s_nop 0
1475 ; PRELOAD-8-NEXT:    s_nop 0
1476 ; PRELOAD-8-NEXT:    s_nop 0
1477 ; PRELOAD-8-NEXT:    s_nop 0
1478 ; PRELOAD-8-NEXT:    s_nop 0
1479 ; PRELOAD-8-NEXT:    s_nop 0
1480 ; PRELOAD-8-NEXT:    s_nop 0
1481 ; PRELOAD-8-NEXT:    s_nop 0
1482 ; PRELOAD-8-NEXT:    s_nop 0
1483 ; PRELOAD-8-NEXT:    s_nop 0
1484 ; PRELOAD-8-NEXT:    s_nop 0
1485 ; PRELOAD-8-NEXT:    s_nop 0
1486 ; PRELOAD-8-NEXT:    s_nop 0
1487 ; PRELOAD-8-NEXT:    s_nop 0
1488 ; PRELOAD-8-NEXT:    s_nop 0
1489 ; PRELOAD-8-NEXT:    s_nop 0
1490 ; PRELOAD-8-NEXT:    s_nop 0
1491 ; PRELOAD-8-NEXT:    s_nop 0
1492 ; PRELOAD-8-NEXT:    s_nop 0
1493 ; PRELOAD-8-NEXT:    s_nop 0
1494 ; PRELOAD-8-NEXT:    s_nop 0
1495 ; PRELOAD-8-NEXT:    s_nop 0
1496 ; PRELOAD-8-NEXT:    s_nop 0
1497 ; PRELOAD-8-NEXT:    s_nop 0
1498 ; PRELOAD-8-NEXT:    s_nop 0
1499 ; PRELOAD-8-NEXT:    s_nop 0
1500 ; PRELOAD-8-NEXT:    s_nop 0
1501 ; PRELOAD-8-NEXT:    s_nop 0
1502 ; PRELOAD-8-NEXT:    s_nop 0
1503 ; PRELOAD-8-NEXT:    s_nop 0
1504 ; PRELOAD-8-NEXT:    s_nop 0
1505 ; PRELOAD-8-NEXT:    s_nop 0
1506 ; PRELOAD-8-NEXT:    s_nop 0
1507 ; PRELOAD-8-NEXT:    s_nop 0
1508 ; PRELOAD-8-NEXT:    s_nop 0
1509 ; PRELOAD-8-NEXT:    s_nop 0
1510 ; PRELOAD-8-NEXT:    s_nop 0
1511 ; PRELOAD-8-NEXT:    s_nop 0
1512 ; PRELOAD-8-NEXT:    s_nop 0
1513 ; PRELOAD-8-NEXT:    s_nop 0
1514 ; PRELOAD-8-NEXT:    s_nop 0
1515 ; PRELOAD-8-NEXT:    s_nop 0
1516 ; PRELOAD-8-NEXT:    s_nop 0
1517 ; PRELOAD-8-NEXT:    s_nop 0
1518 ; PRELOAD-8-NEXT:    s_nop 0
1519 ; PRELOAD-8-NEXT:    s_nop 0
1520 ; PRELOAD-8-NEXT:    s_nop 0
1521 ; PRELOAD-8-NEXT:    s_nop 0
1522 ; PRELOAD-8-NEXT:    s_nop 0
1523 ; PRELOAD-8-NEXT:    s_nop 0
1524 ; PRELOAD-8-NEXT:    s_nop 0
1525 ; PRELOAD-8-NEXT:    s_nop 0
1526 ; PRELOAD-8-NEXT:    s_nop 0
1527 ; PRELOAD-8-NEXT:    s_nop 0
1528 ; PRELOAD-8-NEXT:    s_nop 0
1529 ; PRELOAD-8-NEXT:    s_nop 0
1530 ; PRELOAD-8-NEXT:  ; %bb.0:
1531 ; PRELOAD-8-NEXT:    s_add_i32 s0, s2, s6
1532 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
1533 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s0
1534 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[4:5] sc0 sc1
1535 ; PRELOAD-8-NEXT:    s_endpgm
1536   %add = add i32 %arg0, %arg1
1537   store i32 %add, ptr addrspace(1) %out
1538   ret void
1541 define amdgpu_kernel void @ptr1_i16_i16_preload_arg(ptr addrspace(1) %out, i16 %arg0, i16 %arg1) {
1542 ; NO-PRELOAD-LABEL: ptr1_i16_i16_preload_arg:
1543 ; NO-PRELOAD:       ; %bb.0:
1544 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
1545 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
1546 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
1547 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
1548 ; NO-PRELOAD-NEXT:    s_lshr_b32 s0, s4, 16
1549 ; NO-PRELOAD-NEXT:    s_and_b32 s1, s4, 0xffff
1550 ; NO-PRELOAD-NEXT:    s_add_i32 s0, s1, s0
1551 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s0
1552 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1553 ; NO-PRELOAD-NEXT:    s_endpgm
1555 ; PRELOAD-1-LABEL: ptr1_i16_i16_preload_arg:
1556 ; PRELOAD-1:         s_nop 0
1557 ; PRELOAD-1-NEXT:    s_nop 0
1558 ; PRELOAD-1-NEXT:    s_nop 0
1559 ; PRELOAD-1-NEXT:    s_nop 0
1560 ; PRELOAD-1-NEXT:    s_nop 0
1561 ; PRELOAD-1-NEXT:    s_nop 0
1562 ; PRELOAD-1-NEXT:    s_nop 0
1563 ; PRELOAD-1-NEXT:    s_nop 0
1564 ; PRELOAD-1-NEXT:    s_nop 0
1565 ; PRELOAD-1-NEXT:    s_nop 0
1566 ; PRELOAD-1-NEXT:    s_nop 0
1567 ; PRELOAD-1-NEXT:    s_nop 0
1568 ; PRELOAD-1-NEXT:    s_nop 0
1569 ; PRELOAD-1-NEXT:    s_nop 0
1570 ; PRELOAD-1-NEXT:    s_nop 0
1571 ; PRELOAD-1-NEXT:    s_nop 0
1572 ; PRELOAD-1-NEXT:    s_nop 0
1573 ; PRELOAD-1-NEXT:    s_nop 0
1574 ; PRELOAD-1-NEXT:    s_nop 0
1575 ; PRELOAD-1-NEXT:    s_nop 0
1576 ; PRELOAD-1-NEXT:    s_nop 0
1577 ; PRELOAD-1-NEXT:    s_nop 0
1578 ; PRELOAD-1-NEXT:    s_nop 0
1579 ; PRELOAD-1-NEXT:    s_nop 0
1580 ; PRELOAD-1-NEXT:    s_nop 0
1581 ; PRELOAD-1-NEXT:    s_nop 0
1582 ; PRELOAD-1-NEXT:    s_nop 0
1583 ; PRELOAD-1-NEXT:    s_nop 0
1584 ; PRELOAD-1-NEXT:    s_nop 0
1585 ; PRELOAD-1-NEXT:    s_nop 0
1586 ; PRELOAD-1-NEXT:    s_nop 0
1587 ; PRELOAD-1-NEXT:    s_nop 0
1588 ; PRELOAD-1-NEXT:    s_nop 0
1589 ; PRELOAD-1-NEXT:    s_nop 0
1590 ; PRELOAD-1-NEXT:    s_nop 0
1591 ; PRELOAD-1-NEXT:    s_nop 0
1592 ; PRELOAD-1-NEXT:    s_nop 0
1593 ; PRELOAD-1-NEXT:    s_nop 0
1594 ; PRELOAD-1-NEXT:    s_nop 0
1595 ; PRELOAD-1-NEXT:    s_nop 0
1596 ; PRELOAD-1-NEXT:    s_nop 0
1597 ; PRELOAD-1-NEXT:    s_nop 0
1598 ; PRELOAD-1-NEXT:    s_nop 0
1599 ; PRELOAD-1-NEXT:    s_nop 0
1600 ; PRELOAD-1-NEXT:    s_nop 0
1601 ; PRELOAD-1-NEXT:    s_nop 0
1602 ; PRELOAD-1-NEXT:    s_nop 0
1603 ; PRELOAD-1-NEXT:    s_nop 0
1604 ; PRELOAD-1-NEXT:    s_nop 0
1605 ; PRELOAD-1-NEXT:    s_nop 0
1606 ; PRELOAD-1-NEXT:    s_nop 0
1607 ; PRELOAD-1-NEXT:    s_nop 0
1608 ; PRELOAD-1-NEXT:    s_nop 0
1609 ; PRELOAD-1-NEXT:    s_nop 0
1610 ; PRELOAD-1-NEXT:    s_nop 0
1611 ; PRELOAD-1-NEXT:    s_nop 0
1612 ; PRELOAD-1-NEXT:    s_nop 0
1613 ; PRELOAD-1-NEXT:    s_nop 0
1614 ; PRELOAD-1-NEXT:    s_nop 0
1615 ; PRELOAD-1-NEXT:    s_nop 0
1616 ; PRELOAD-1-NEXT:    s_nop 0
1617 ; PRELOAD-1-NEXT:    s_nop 0
1618 ; PRELOAD-1-NEXT:    s_nop 0
1619 ; PRELOAD-1-NEXT:    s_nop 0
1620 ; PRELOAD-1-NEXT:  ; %bb.0:
1621 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
1622 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
1623 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
1624 ; PRELOAD-1-NEXT:    s_lshr_b32 s1, s0, 16
1625 ; PRELOAD-1-NEXT:    s_and_b32 s0, s0, 0xffff
1626 ; PRELOAD-1-NEXT:    s_add_i32 s0, s0, s1
1627 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
1628 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1629 ; PRELOAD-1-NEXT:    s_endpgm
1631 ; PRELOAD-2-LABEL: ptr1_i16_i16_preload_arg:
1632 ; PRELOAD-2:         s_nop 0
1633 ; PRELOAD-2-NEXT:    s_nop 0
1634 ; PRELOAD-2-NEXT:    s_nop 0
1635 ; PRELOAD-2-NEXT:    s_nop 0
1636 ; PRELOAD-2-NEXT:    s_nop 0
1637 ; PRELOAD-2-NEXT:    s_nop 0
1638 ; PRELOAD-2-NEXT:    s_nop 0
1639 ; PRELOAD-2-NEXT:    s_nop 0
1640 ; PRELOAD-2-NEXT:    s_nop 0
1641 ; PRELOAD-2-NEXT:    s_nop 0
1642 ; PRELOAD-2-NEXT:    s_nop 0
1643 ; PRELOAD-2-NEXT:    s_nop 0
1644 ; PRELOAD-2-NEXT:    s_nop 0
1645 ; PRELOAD-2-NEXT:    s_nop 0
1646 ; PRELOAD-2-NEXT:    s_nop 0
1647 ; PRELOAD-2-NEXT:    s_nop 0
1648 ; PRELOAD-2-NEXT:    s_nop 0
1649 ; PRELOAD-2-NEXT:    s_nop 0
1650 ; PRELOAD-2-NEXT:    s_nop 0
1651 ; PRELOAD-2-NEXT:    s_nop 0
1652 ; PRELOAD-2-NEXT:    s_nop 0
1653 ; PRELOAD-2-NEXT:    s_nop 0
1654 ; PRELOAD-2-NEXT:    s_nop 0
1655 ; PRELOAD-2-NEXT:    s_nop 0
1656 ; PRELOAD-2-NEXT:    s_nop 0
1657 ; PRELOAD-2-NEXT:    s_nop 0
1658 ; PRELOAD-2-NEXT:    s_nop 0
1659 ; PRELOAD-2-NEXT:    s_nop 0
1660 ; PRELOAD-2-NEXT:    s_nop 0
1661 ; PRELOAD-2-NEXT:    s_nop 0
1662 ; PRELOAD-2-NEXT:    s_nop 0
1663 ; PRELOAD-2-NEXT:    s_nop 0
1664 ; PRELOAD-2-NEXT:    s_nop 0
1665 ; PRELOAD-2-NEXT:    s_nop 0
1666 ; PRELOAD-2-NEXT:    s_nop 0
1667 ; PRELOAD-2-NEXT:    s_nop 0
1668 ; PRELOAD-2-NEXT:    s_nop 0
1669 ; PRELOAD-2-NEXT:    s_nop 0
1670 ; PRELOAD-2-NEXT:    s_nop 0
1671 ; PRELOAD-2-NEXT:    s_nop 0
1672 ; PRELOAD-2-NEXT:    s_nop 0
1673 ; PRELOAD-2-NEXT:    s_nop 0
1674 ; PRELOAD-2-NEXT:    s_nop 0
1675 ; PRELOAD-2-NEXT:    s_nop 0
1676 ; PRELOAD-2-NEXT:    s_nop 0
1677 ; PRELOAD-2-NEXT:    s_nop 0
1678 ; PRELOAD-2-NEXT:    s_nop 0
1679 ; PRELOAD-2-NEXT:    s_nop 0
1680 ; PRELOAD-2-NEXT:    s_nop 0
1681 ; PRELOAD-2-NEXT:    s_nop 0
1682 ; PRELOAD-2-NEXT:    s_nop 0
1683 ; PRELOAD-2-NEXT:    s_nop 0
1684 ; PRELOAD-2-NEXT:    s_nop 0
1685 ; PRELOAD-2-NEXT:    s_nop 0
1686 ; PRELOAD-2-NEXT:    s_nop 0
1687 ; PRELOAD-2-NEXT:    s_nop 0
1688 ; PRELOAD-2-NEXT:    s_nop 0
1689 ; PRELOAD-2-NEXT:    s_nop 0
1690 ; PRELOAD-2-NEXT:    s_nop 0
1691 ; PRELOAD-2-NEXT:    s_nop 0
1692 ; PRELOAD-2-NEXT:    s_nop 0
1693 ; PRELOAD-2-NEXT:    s_nop 0
1694 ; PRELOAD-2-NEXT:    s_nop 0
1695 ; PRELOAD-2-NEXT:    s_nop 0
1696 ; PRELOAD-2-NEXT:  ; %bb.0:
1697 ; PRELOAD-2-NEXT:    s_load_dword s0, s[0:1], 0x8
1698 ; PRELOAD-2-NEXT:    s_and_b32 s1, s4, 0xffff
1699 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
1700 ; PRELOAD-2-NEXT:    s_waitcnt lgkmcnt(0)
1701 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s0, 16
1702 ; PRELOAD-2-NEXT:    s_add_i32 s0, s1, s0
1703 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s0
1704 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1705 ; PRELOAD-2-NEXT:    s_endpgm
1707 ; PRELOAD-4-LABEL: ptr1_i16_i16_preload_arg:
1708 ; PRELOAD-4:         s_nop 0
1709 ; PRELOAD-4-NEXT:    s_nop 0
1710 ; PRELOAD-4-NEXT:    s_nop 0
1711 ; PRELOAD-4-NEXT:    s_nop 0
1712 ; PRELOAD-4-NEXT:    s_nop 0
1713 ; PRELOAD-4-NEXT:    s_nop 0
1714 ; PRELOAD-4-NEXT:    s_nop 0
1715 ; PRELOAD-4-NEXT:    s_nop 0
1716 ; PRELOAD-4-NEXT:    s_nop 0
1717 ; PRELOAD-4-NEXT:    s_nop 0
1718 ; PRELOAD-4-NEXT:    s_nop 0
1719 ; PRELOAD-4-NEXT:    s_nop 0
1720 ; PRELOAD-4-NEXT:    s_nop 0
1721 ; PRELOAD-4-NEXT:    s_nop 0
1722 ; PRELOAD-4-NEXT:    s_nop 0
1723 ; PRELOAD-4-NEXT:    s_nop 0
1724 ; PRELOAD-4-NEXT:    s_nop 0
1725 ; PRELOAD-4-NEXT:    s_nop 0
1726 ; PRELOAD-4-NEXT:    s_nop 0
1727 ; PRELOAD-4-NEXT:    s_nop 0
1728 ; PRELOAD-4-NEXT:    s_nop 0
1729 ; PRELOAD-4-NEXT:    s_nop 0
1730 ; PRELOAD-4-NEXT:    s_nop 0
1731 ; PRELOAD-4-NEXT:    s_nop 0
1732 ; PRELOAD-4-NEXT:    s_nop 0
1733 ; PRELOAD-4-NEXT:    s_nop 0
1734 ; PRELOAD-4-NEXT:    s_nop 0
1735 ; PRELOAD-4-NEXT:    s_nop 0
1736 ; PRELOAD-4-NEXT:    s_nop 0
1737 ; PRELOAD-4-NEXT:    s_nop 0
1738 ; PRELOAD-4-NEXT:    s_nop 0
1739 ; PRELOAD-4-NEXT:    s_nop 0
1740 ; PRELOAD-4-NEXT:    s_nop 0
1741 ; PRELOAD-4-NEXT:    s_nop 0
1742 ; PRELOAD-4-NEXT:    s_nop 0
1743 ; PRELOAD-4-NEXT:    s_nop 0
1744 ; PRELOAD-4-NEXT:    s_nop 0
1745 ; PRELOAD-4-NEXT:    s_nop 0
1746 ; PRELOAD-4-NEXT:    s_nop 0
1747 ; PRELOAD-4-NEXT:    s_nop 0
1748 ; PRELOAD-4-NEXT:    s_nop 0
1749 ; PRELOAD-4-NEXT:    s_nop 0
1750 ; PRELOAD-4-NEXT:    s_nop 0
1751 ; PRELOAD-4-NEXT:    s_nop 0
1752 ; PRELOAD-4-NEXT:    s_nop 0
1753 ; PRELOAD-4-NEXT:    s_nop 0
1754 ; PRELOAD-4-NEXT:    s_nop 0
1755 ; PRELOAD-4-NEXT:    s_nop 0
1756 ; PRELOAD-4-NEXT:    s_nop 0
1757 ; PRELOAD-4-NEXT:    s_nop 0
1758 ; PRELOAD-4-NEXT:    s_nop 0
1759 ; PRELOAD-4-NEXT:    s_nop 0
1760 ; PRELOAD-4-NEXT:    s_nop 0
1761 ; PRELOAD-4-NEXT:    s_nop 0
1762 ; PRELOAD-4-NEXT:    s_nop 0
1763 ; PRELOAD-4-NEXT:    s_nop 0
1764 ; PRELOAD-4-NEXT:    s_nop 0
1765 ; PRELOAD-4-NEXT:    s_nop 0
1766 ; PRELOAD-4-NEXT:    s_nop 0
1767 ; PRELOAD-4-NEXT:    s_nop 0
1768 ; PRELOAD-4-NEXT:    s_nop 0
1769 ; PRELOAD-4-NEXT:    s_nop 0
1770 ; PRELOAD-4-NEXT:    s_nop 0
1771 ; PRELOAD-4-NEXT:    s_nop 0
1772 ; PRELOAD-4-NEXT:  ; %bb.0:
1773 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 16
1774 ; PRELOAD-4-NEXT:    s_and_b32 s1, s4, 0xffff
1775 ; PRELOAD-4-NEXT:    s_add_i32 s0, s1, s0
1776 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
1777 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s0
1778 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1779 ; PRELOAD-4-NEXT:    s_endpgm
1781 ; PRELOAD-8-LABEL: ptr1_i16_i16_preload_arg:
1782 ; PRELOAD-8:         s_nop 0
1783 ; PRELOAD-8-NEXT:    s_nop 0
1784 ; PRELOAD-8-NEXT:    s_nop 0
1785 ; PRELOAD-8-NEXT:    s_nop 0
1786 ; PRELOAD-8-NEXT:    s_nop 0
1787 ; PRELOAD-8-NEXT:    s_nop 0
1788 ; PRELOAD-8-NEXT:    s_nop 0
1789 ; PRELOAD-8-NEXT:    s_nop 0
1790 ; PRELOAD-8-NEXT:    s_nop 0
1791 ; PRELOAD-8-NEXT:    s_nop 0
1792 ; PRELOAD-8-NEXT:    s_nop 0
1793 ; PRELOAD-8-NEXT:    s_nop 0
1794 ; PRELOAD-8-NEXT:    s_nop 0
1795 ; PRELOAD-8-NEXT:    s_nop 0
1796 ; PRELOAD-8-NEXT:    s_nop 0
1797 ; PRELOAD-8-NEXT:    s_nop 0
1798 ; PRELOAD-8-NEXT:    s_nop 0
1799 ; PRELOAD-8-NEXT:    s_nop 0
1800 ; PRELOAD-8-NEXT:    s_nop 0
1801 ; PRELOAD-8-NEXT:    s_nop 0
1802 ; PRELOAD-8-NEXT:    s_nop 0
1803 ; PRELOAD-8-NEXT:    s_nop 0
1804 ; PRELOAD-8-NEXT:    s_nop 0
1805 ; PRELOAD-8-NEXT:    s_nop 0
1806 ; PRELOAD-8-NEXT:    s_nop 0
1807 ; PRELOAD-8-NEXT:    s_nop 0
1808 ; PRELOAD-8-NEXT:    s_nop 0
1809 ; PRELOAD-8-NEXT:    s_nop 0
1810 ; PRELOAD-8-NEXT:    s_nop 0
1811 ; PRELOAD-8-NEXT:    s_nop 0
1812 ; PRELOAD-8-NEXT:    s_nop 0
1813 ; PRELOAD-8-NEXT:    s_nop 0
1814 ; PRELOAD-8-NEXT:    s_nop 0
1815 ; PRELOAD-8-NEXT:    s_nop 0
1816 ; PRELOAD-8-NEXT:    s_nop 0
1817 ; PRELOAD-8-NEXT:    s_nop 0
1818 ; PRELOAD-8-NEXT:    s_nop 0
1819 ; PRELOAD-8-NEXT:    s_nop 0
1820 ; PRELOAD-8-NEXT:    s_nop 0
1821 ; PRELOAD-8-NEXT:    s_nop 0
1822 ; PRELOAD-8-NEXT:    s_nop 0
1823 ; PRELOAD-8-NEXT:    s_nop 0
1824 ; PRELOAD-8-NEXT:    s_nop 0
1825 ; PRELOAD-8-NEXT:    s_nop 0
1826 ; PRELOAD-8-NEXT:    s_nop 0
1827 ; PRELOAD-8-NEXT:    s_nop 0
1828 ; PRELOAD-8-NEXT:    s_nop 0
1829 ; PRELOAD-8-NEXT:    s_nop 0
1830 ; PRELOAD-8-NEXT:    s_nop 0
1831 ; PRELOAD-8-NEXT:    s_nop 0
1832 ; PRELOAD-8-NEXT:    s_nop 0
1833 ; PRELOAD-8-NEXT:    s_nop 0
1834 ; PRELOAD-8-NEXT:    s_nop 0
1835 ; PRELOAD-8-NEXT:    s_nop 0
1836 ; PRELOAD-8-NEXT:    s_nop 0
1837 ; PRELOAD-8-NEXT:    s_nop 0
1838 ; PRELOAD-8-NEXT:    s_nop 0
1839 ; PRELOAD-8-NEXT:    s_nop 0
1840 ; PRELOAD-8-NEXT:    s_nop 0
1841 ; PRELOAD-8-NEXT:    s_nop 0
1842 ; PRELOAD-8-NEXT:    s_nop 0
1843 ; PRELOAD-8-NEXT:    s_nop 0
1844 ; PRELOAD-8-NEXT:    s_nop 0
1845 ; PRELOAD-8-NEXT:    s_nop 0
1846 ; PRELOAD-8-NEXT:  ; %bb.0:
1847 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 16
1848 ; PRELOAD-8-NEXT:    s_and_b32 s1, s4, 0xffff
1849 ; PRELOAD-8-NEXT:    s_add_i32 s0, s1, s0
1850 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
1851 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s0
1852 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
1853 ; PRELOAD-8-NEXT:    s_endpgm
1854   %ext = zext i16 %arg0 to i32
1855   %ext1 = zext i16 %arg1 to i32
1856   %add = add i32 %ext, %ext1
1857   store i32 %add, ptr addrspace(1) %out, align 4
1858   ret void
1861 define amdgpu_kernel void @ptr1_v2i8_preload_arg(ptr addrspace(1) %out, <2 x i8> %in) {
1862 ; NO-PRELOAD-LABEL: ptr1_v2i8_preload_arg:
1863 ; NO-PRELOAD:       ; %bb.0:
1864 ; NO-PRELOAD-NEXT:    s_load_dword s4, s[0:1], 0x8
1865 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
1866 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
1867 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
1868 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s4
1869 ; NO-PRELOAD-NEXT:    global_store_short v0, v1, s[2:3] sc0 sc1
1870 ; NO-PRELOAD-NEXT:    s_endpgm
1872 ; PRELOAD-1-LABEL: ptr1_v2i8_preload_arg:
1873 ; PRELOAD-1:         s_nop 0
1874 ; PRELOAD-1-NEXT:    s_nop 0
1875 ; PRELOAD-1-NEXT:    s_nop 0
1876 ; PRELOAD-1-NEXT:    s_nop 0
1877 ; PRELOAD-1-NEXT:    s_nop 0
1878 ; PRELOAD-1-NEXT:    s_nop 0
1879 ; PRELOAD-1-NEXT:    s_nop 0
1880 ; PRELOAD-1-NEXT:    s_nop 0
1881 ; PRELOAD-1-NEXT:    s_nop 0
1882 ; PRELOAD-1-NEXT:    s_nop 0
1883 ; PRELOAD-1-NEXT:    s_nop 0
1884 ; PRELOAD-1-NEXT:    s_nop 0
1885 ; PRELOAD-1-NEXT:    s_nop 0
1886 ; PRELOAD-1-NEXT:    s_nop 0
1887 ; PRELOAD-1-NEXT:    s_nop 0
1888 ; PRELOAD-1-NEXT:    s_nop 0
1889 ; PRELOAD-1-NEXT:    s_nop 0
1890 ; PRELOAD-1-NEXT:    s_nop 0
1891 ; PRELOAD-1-NEXT:    s_nop 0
1892 ; PRELOAD-1-NEXT:    s_nop 0
1893 ; PRELOAD-1-NEXT:    s_nop 0
1894 ; PRELOAD-1-NEXT:    s_nop 0
1895 ; PRELOAD-1-NEXT:    s_nop 0
1896 ; PRELOAD-1-NEXT:    s_nop 0
1897 ; PRELOAD-1-NEXT:    s_nop 0
1898 ; PRELOAD-1-NEXT:    s_nop 0
1899 ; PRELOAD-1-NEXT:    s_nop 0
1900 ; PRELOAD-1-NEXT:    s_nop 0
1901 ; PRELOAD-1-NEXT:    s_nop 0
1902 ; PRELOAD-1-NEXT:    s_nop 0
1903 ; PRELOAD-1-NEXT:    s_nop 0
1904 ; PRELOAD-1-NEXT:    s_nop 0
1905 ; PRELOAD-1-NEXT:    s_nop 0
1906 ; PRELOAD-1-NEXT:    s_nop 0
1907 ; PRELOAD-1-NEXT:    s_nop 0
1908 ; PRELOAD-1-NEXT:    s_nop 0
1909 ; PRELOAD-1-NEXT:    s_nop 0
1910 ; PRELOAD-1-NEXT:    s_nop 0
1911 ; PRELOAD-1-NEXT:    s_nop 0
1912 ; PRELOAD-1-NEXT:    s_nop 0
1913 ; PRELOAD-1-NEXT:    s_nop 0
1914 ; PRELOAD-1-NEXT:    s_nop 0
1915 ; PRELOAD-1-NEXT:    s_nop 0
1916 ; PRELOAD-1-NEXT:    s_nop 0
1917 ; PRELOAD-1-NEXT:    s_nop 0
1918 ; PRELOAD-1-NEXT:    s_nop 0
1919 ; PRELOAD-1-NEXT:    s_nop 0
1920 ; PRELOAD-1-NEXT:    s_nop 0
1921 ; PRELOAD-1-NEXT:    s_nop 0
1922 ; PRELOAD-1-NEXT:    s_nop 0
1923 ; PRELOAD-1-NEXT:    s_nop 0
1924 ; PRELOAD-1-NEXT:    s_nop 0
1925 ; PRELOAD-1-NEXT:    s_nop 0
1926 ; PRELOAD-1-NEXT:    s_nop 0
1927 ; PRELOAD-1-NEXT:    s_nop 0
1928 ; PRELOAD-1-NEXT:    s_nop 0
1929 ; PRELOAD-1-NEXT:    s_nop 0
1930 ; PRELOAD-1-NEXT:    s_nop 0
1931 ; PRELOAD-1-NEXT:    s_nop 0
1932 ; PRELOAD-1-NEXT:    s_nop 0
1933 ; PRELOAD-1-NEXT:    s_nop 0
1934 ; PRELOAD-1-NEXT:    s_nop 0
1935 ; PRELOAD-1-NEXT:    s_nop 0
1936 ; PRELOAD-1-NEXT:    s_nop 0
1937 ; PRELOAD-1-NEXT:  ; %bb.0:
1938 ; PRELOAD-1-NEXT:    s_load_dword s0, s[0:1], 0x8
1939 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
1940 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
1941 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
1942 ; PRELOAD-1-NEXT:    global_store_short v0, v1, s[2:3] sc0 sc1
1943 ; PRELOAD-1-NEXT:    s_endpgm
1945 ; PRELOAD-2-LABEL: ptr1_v2i8_preload_arg:
1946 ; PRELOAD-2:         s_nop 0
1947 ; PRELOAD-2-NEXT:    s_nop 0
1948 ; PRELOAD-2-NEXT:    s_nop 0
1949 ; PRELOAD-2-NEXT:    s_nop 0
1950 ; PRELOAD-2-NEXT:    s_nop 0
1951 ; PRELOAD-2-NEXT:    s_nop 0
1952 ; PRELOAD-2-NEXT:    s_nop 0
1953 ; PRELOAD-2-NEXT:    s_nop 0
1954 ; PRELOAD-2-NEXT:    s_nop 0
1955 ; PRELOAD-2-NEXT:    s_nop 0
1956 ; PRELOAD-2-NEXT:    s_nop 0
1957 ; PRELOAD-2-NEXT:    s_nop 0
1958 ; PRELOAD-2-NEXT:    s_nop 0
1959 ; PRELOAD-2-NEXT:    s_nop 0
1960 ; PRELOAD-2-NEXT:    s_nop 0
1961 ; PRELOAD-2-NEXT:    s_nop 0
1962 ; PRELOAD-2-NEXT:    s_nop 0
1963 ; PRELOAD-2-NEXT:    s_nop 0
1964 ; PRELOAD-2-NEXT:    s_nop 0
1965 ; PRELOAD-2-NEXT:    s_nop 0
1966 ; PRELOAD-2-NEXT:    s_nop 0
1967 ; PRELOAD-2-NEXT:    s_nop 0
1968 ; PRELOAD-2-NEXT:    s_nop 0
1969 ; PRELOAD-2-NEXT:    s_nop 0
1970 ; PRELOAD-2-NEXT:    s_nop 0
1971 ; PRELOAD-2-NEXT:    s_nop 0
1972 ; PRELOAD-2-NEXT:    s_nop 0
1973 ; PRELOAD-2-NEXT:    s_nop 0
1974 ; PRELOAD-2-NEXT:    s_nop 0
1975 ; PRELOAD-2-NEXT:    s_nop 0
1976 ; PRELOAD-2-NEXT:    s_nop 0
1977 ; PRELOAD-2-NEXT:    s_nop 0
1978 ; PRELOAD-2-NEXT:    s_nop 0
1979 ; PRELOAD-2-NEXT:    s_nop 0
1980 ; PRELOAD-2-NEXT:    s_nop 0
1981 ; PRELOAD-2-NEXT:    s_nop 0
1982 ; PRELOAD-2-NEXT:    s_nop 0
1983 ; PRELOAD-2-NEXT:    s_nop 0
1984 ; PRELOAD-2-NEXT:    s_nop 0
1985 ; PRELOAD-2-NEXT:    s_nop 0
1986 ; PRELOAD-2-NEXT:    s_nop 0
1987 ; PRELOAD-2-NEXT:    s_nop 0
1988 ; PRELOAD-2-NEXT:    s_nop 0
1989 ; PRELOAD-2-NEXT:    s_nop 0
1990 ; PRELOAD-2-NEXT:    s_nop 0
1991 ; PRELOAD-2-NEXT:    s_nop 0
1992 ; PRELOAD-2-NEXT:    s_nop 0
1993 ; PRELOAD-2-NEXT:    s_nop 0
1994 ; PRELOAD-2-NEXT:    s_nop 0
1995 ; PRELOAD-2-NEXT:    s_nop 0
1996 ; PRELOAD-2-NEXT:    s_nop 0
1997 ; PRELOAD-2-NEXT:    s_nop 0
1998 ; PRELOAD-2-NEXT:    s_nop 0
1999 ; PRELOAD-2-NEXT:    s_nop 0
2000 ; PRELOAD-2-NEXT:    s_nop 0
2001 ; PRELOAD-2-NEXT:    s_nop 0
2002 ; PRELOAD-2-NEXT:    s_nop 0
2003 ; PRELOAD-2-NEXT:    s_nop 0
2004 ; PRELOAD-2-NEXT:    s_nop 0
2005 ; PRELOAD-2-NEXT:    s_nop 0
2006 ; PRELOAD-2-NEXT:    s_nop 0
2007 ; PRELOAD-2-NEXT:    s_nop 0
2008 ; PRELOAD-2-NEXT:    s_nop 0
2009 ; PRELOAD-2-NEXT:    s_nop 0
2010 ; PRELOAD-2-NEXT:  ; %bb.0:
2011 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 8
2012 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
2013 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
2014 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, 0
2015 ; PRELOAD-2-NEXT:    global_store_short v1, v0, s[2:3] sc0 sc1
2016 ; PRELOAD-2-NEXT:    s_endpgm
2018 ; PRELOAD-4-LABEL: ptr1_v2i8_preload_arg:
2019 ; PRELOAD-4:         s_nop 0
2020 ; PRELOAD-4-NEXT:    s_nop 0
2021 ; PRELOAD-4-NEXT:    s_nop 0
2022 ; PRELOAD-4-NEXT:    s_nop 0
2023 ; PRELOAD-4-NEXT:    s_nop 0
2024 ; PRELOAD-4-NEXT:    s_nop 0
2025 ; PRELOAD-4-NEXT:    s_nop 0
2026 ; PRELOAD-4-NEXT:    s_nop 0
2027 ; PRELOAD-4-NEXT:    s_nop 0
2028 ; PRELOAD-4-NEXT:    s_nop 0
2029 ; PRELOAD-4-NEXT:    s_nop 0
2030 ; PRELOAD-4-NEXT:    s_nop 0
2031 ; PRELOAD-4-NEXT:    s_nop 0
2032 ; PRELOAD-4-NEXT:    s_nop 0
2033 ; PRELOAD-4-NEXT:    s_nop 0
2034 ; PRELOAD-4-NEXT:    s_nop 0
2035 ; PRELOAD-4-NEXT:    s_nop 0
2036 ; PRELOAD-4-NEXT:    s_nop 0
2037 ; PRELOAD-4-NEXT:    s_nop 0
2038 ; PRELOAD-4-NEXT:    s_nop 0
2039 ; PRELOAD-4-NEXT:    s_nop 0
2040 ; PRELOAD-4-NEXT:    s_nop 0
2041 ; PRELOAD-4-NEXT:    s_nop 0
2042 ; PRELOAD-4-NEXT:    s_nop 0
2043 ; PRELOAD-4-NEXT:    s_nop 0
2044 ; PRELOAD-4-NEXT:    s_nop 0
2045 ; PRELOAD-4-NEXT:    s_nop 0
2046 ; PRELOAD-4-NEXT:    s_nop 0
2047 ; PRELOAD-4-NEXT:    s_nop 0
2048 ; PRELOAD-4-NEXT:    s_nop 0
2049 ; PRELOAD-4-NEXT:    s_nop 0
2050 ; PRELOAD-4-NEXT:    s_nop 0
2051 ; PRELOAD-4-NEXT:    s_nop 0
2052 ; PRELOAD-4-NEXT:    s_nop 0
2053 ; PRELOAD-4-NEXT:    s_nop 0
2054 ; PRELOAD-4-NEXT:    s_nop 0
2055 ; PRELOAD-4-NEXT:    s_nop 0
2056 ; PRELOAD-4-NEXT:    s_nop 0
2057 ; PRELOAD-4-NEXT:    s_nop 0
2058 ; PRELOAD-4-NEXT:    s_nop 0
2059 ; PRELOAD-4-NEXT:    s_nop 0
2060 ; PRELOAD-4-NEXT:    s_nop 0
2061 ; PRELOAD-4-NEXT:    s_nop 0
2062 ; PRELOAD-4-NEXT:    s_nop 0
2063 ; PRELOAD-4-NEXT:    s_nop 0
2064 ; PRELOAD-4-NEXT:    s_nop 0
2065 ; PRELOAD-4-NEXT:    s_nop 0
2066 ; PRELOAD-4-NEXT:    s_nop 0
2067 ; PRELOAD-4-NEXT:    s_nop 0
2068 ; PRELOAD-4-NEXT:    s_nop 0
2069 ; PRELOAD-4-NEXT:    s_nop 0
2070 ; PRELOAD-4-NEXT:    s_nop 0
2071 ; PRELOAD-4-NEXT:    s_nop 0
2072 ; PRELOAD-4-NEXT:    s_nop 0
2073 ; PRELOAD-4-NEXT:    s_nop 0
2074 ; PRELOAD-4-NEXT:    s_nop 0
2075 ; PRELOAD-4-NEXT:    s_nop 0
2076 ; PRELOAD-4-NEXT:    s_nop 0
2077 ; PRELOAD-4-NEXT:    s_nop 0
2078 ; PRELOAD-4-NEXT:    s_nop 0
2079 ; PRELOAD-4-NEXT:    s_nop 0
2080 ; PRELOAD-4-NEXT:    s_nop 0
2081 ; PRELOAD-4-NEXT:    s_nop 0
2082 ; PRELOAD-4-NEXT:    s_nop 0
2083 ; PRELOAD-4-NEXT:  ; %bb.0:
2084 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 8
2085 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
2086 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
2087 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, 0
2088 ; PRELOAD-4-NEXT:    global_store_short v1, v0, s[2:3] sc0 sc1
2089 ; PRELOAD-4-NEXT:    s_endpgm
2091 ; PRELOAD-8-LABEL: ptr1_v2i8_preload_arg:
2092 ; PRELOAD-8:         s_nop 0
2093 ; PRELOAD-8-NEXT:    s_nop 0
2094 ; PRELOAD-8-NEXT:    s_nop 0
2095 ; PRELOAD-8-NEXT:    s_nop 0
2096 ; PRELOAD-8-NEXT:    s_nop 0
2097 ; PRELOAD-8-NEXT:    s_nop 0
2098 ; PRELOAD-8-NEXT:    s_nop 0
2099 ; PRELOAD-8-NEXT:    s_nop 0
2100 ; PRELOAD-8-NEXT:    s_nop 0
2101 ; PRELOAD-8-NEXT:    s_nop 0
2102 ; PRELOAD-8-NEXT:    s_nop 0
2103 ; PRELOAD-8-NEXT:    s_nop 0
2104 ; PRELOAD-8-NEXT:    s_nop 0
2105 ; PRELOAD-8-NEXT:    s_nop 0
2106 ; PRELOAD-8-NEXT:    s_nop 0
2107 ; PRELOAD-8-NEXT:    s_nop 0
2108 ; PRELOAD-8-NEXT:    s_nop 0
2109 ; PRELOAD-8-NEXT:    s_nop 0
2110 ; PRELOAD-8-NEXT:    s_nop 0
2111 ; PRELOAD-8-NEXT:    s_nop 0
2112 ; PRELOAD-8-NEXT:    s_nop 0
2113 ; PRELOAD-8-NEXT:    s_nop 0
2114 ; PRELOAD-8-NEXT:    s_nop 0
2115 ; PRELOAD-8-NEXT:    s_nop 0
2116 ; PRELOAD-8-NEXT:    s_nop 0
2117 ; PRELOAD-8-NEXT:    s_nop 0
2118 ; PRELOAD-8-NEXT:    s_nop 0
2119 ; PRELOAD-8-NEXT:    s_nop 0
2120 ; PRELOAD-8-NEXT:    s_nop 0
2121 ; PRELOAD-8-NEXT:    s_nop 0
2122 ; PRELOAD-8-NEXT:    s_nop 0
2123 ; PRELOAD-8-NEXT:    s_nop 0
2124 ; PRELOAD-8-NEXT:    s_nop 0
2125 ; PRELOAD-8-NEXT:    s_nop 0
2126 ; PRELOAD-8-NEXT:    s_nop 0
2127 ; PRELOAD-8-NEXT:    s_nop 0
2128 ; PRELOAD-8-NEXT:    s_nop 0
2129 ; PRELOAD-8-NEXT:    s_nop 0
2130 ; PRELOAD-8-NEXT:    s_nop 0
2131 ; PRELOAD-8-NEXT:    s_nop 0
2132 ; PRELOAD-8-NEXT:    s_nop 0
2133 ; PRELOAD-8-NEXT:    s_nop 0
2134 ; PRELOAD-8-NEXT:    s_nop 0
2135 ; PRELOAD-8-NEXT:    s_nop 0
2136 ; PRELOAD-8-NEXT:    s_nop 0
2137 ; PRELOAD-8-NEXT:    s_nop 0
2138 ; PRELOAD-8-NEXT:    s_nop 0
2139 ; PRELOAD-8-NEXT:    s_nop 0
2140 ; PRELOAD-8-NEXT:    s_nop 0
2141 ; PRELOAD-8-NEXT:    s_nop 0
2142 ; PRELOAD-8-NEXT:    s_nop 0
2143 ; PRELOAD-8-NEXT:    s_nop 0
2144 ; PRELOAD-8-NEXT:    s_nop 0
2145 ; PRELOAD-8-NEXT:    s_nop 0
2146 ; PRELOAD-8-NEXT:    s_nop 0
2147 ; PRELOAD-8-NEXT:    s_nop 0
2148 ; PRELOAD-8-NEXT:    s_nop 0
2149 ; PRELOAD-8-NEXT:    s_nop 0
2150 ; PRELOAD-8-NEXT:    s_nop 0
2151 ; PRELOAD-8-NEXT:    s_nop 0
2152 ; PRELOAD-8-NEXT:    s_nop 0
2153 ; PRELOAD-8-NEXT:    s_nop 0
2154 ; PRELOAD-8-NEXT:    s_nop 0
2155 ; PRELOAD-8-NEXT:    s_nop 0
2156 ; PRELOAD-8-NEXT:  ; %bb.0:
2157 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 8
2158 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
2159 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
2160 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, 0
2161 ; PRELOAD-8-NEXT:    global_store_short v1, v0, s[2:3] sc0 sc1
2162 ; PRELOAD-8-NEXT:    s_endpgm
2163   store <2 x i8> %in, ptr addrspace(1) %out
2164   ret void
2167 ; Don't try to preload byref args.
2169 define amdgpu_kernel void @byref_preload_arg(ptr addrspace(1) %out, ptr addrspace(4) byref(i32) align(256) %in.byref, i32 %after.offset) {
2170 ; NO-PRELOAD-LABEL: byref_preload_arg:
2171 ; NO-PRELOAD:       ; %bb.0:
2172 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x100
2173 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[4:5], s[0:1], 0x0
2174 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
2175 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
2176 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s2
2177 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s3
2178 ; NO-PRELOAD-NEXT:    global_store_dword v0, v1, s[4:5] sc0 sc1
2179 ; NO-PRELOAD-NEXT:    s_waitcnt vmcnt(0)
2180 ; NO-PRELOAD-NEXT:    global_store_dword v0, v2, s[4:5] sc0 sc1
2181 ; NO-PRELOAD-NEXT:    s_waitcnt vmcnt(0)
2182 ; NO-PRELOAD-NEXT:    s_endpgm
2184 ; PRELOAD-1-LABEL: byref_preload_arg:
2185 ; PRELOAD-1:         s_nop 0
2186 ; PRELOAD-1-NEXT:    s_nop 0
2187 ; PRELOAD-1-NEXT:    s_nop 0
2188 ; PRELOAD-1-NEXT:    s_nop 0
2189 ; PRELOAD-1-NEXT:    s_nop 0
2190 ; PRELOAD-1-NEXT:    s_nop 0
2191 ; PRELOAD-1-NEXT:    s_nop 0
2192 ; PRELOAD-1-NEXT:    s_nop 0
2193 ; PRELOAD-1-NEXT:    s_nop 0
2194 ; PRELOAD-1-NEXT:    s_nop 0
2195 ; PRELOAD-1-NEXT:    s_nop 0
2196 ; PRELOAD-1-NEXT:    s_nop 0
2197 ; PRELOAD-1-NEXT:    s_nop 0
2198 ; PRELOAD-1-NEXT:    s_nop 0
2199 ; PRELOAD-1-NEXT:    s_nop 0
2200 ; PRELOAD-1-NEXT:    s_nop 0
2201 ; PRELOAD-1-NEXT:    s_nop 0
2202 ; PRELOAD-1-NEXT:    s_nop 0
2203 ; PRELOAD-1-NEXT:    s_nop 0
2204 ; PRELOAD-1-NEXT:    s_nop 0
2205 ; PRELOAD-1-NEXT:    s_nop 0
2206 ; PRELOAD-1-NEXT:    s_nop 0
2207 ; PRELOAD-1-NEXT:    s_nop 0
2208 ; PRELOAD-1-NEXT:    s_nop 0
2209 ; PRELOAD-1-NEXT:    s_nop 0
2210 ; PRELOAD-1-NEXT:    s_nop 0
2211 ; PRELOAD-1-NEXT:    s_nop 0
2212 ; PRELOAD-1-NEXT:    s_nop 0
2213 ; PRELOAD-1-NEXT:    s_nop 0
2214 ; PRELOAD-1-NEXT:    s_nop 0
2215 ; PRELOAD-1-NEXT:    s_nop 0
2216 ; PRELOAD-1-NEXT:    s_nop 0
2217 ; PRELOAD-1-NEXT:    s_nop 0
2218 ; PRELOAD-1-NEXT:    s_nop 0
2219 ; PRELOAD-1-NEXT:    s_nop 0
2220 ; PRELOAD-1-NEXT:    s_nop 0
2221 ; PRELOAD-1-NEXT:    s_nop 0
2222 ; PRELOAD-1-NEXT:    s_nop 0
2223 ; PRELOAD-1-NEXT:    s_nop 0
2224 ; PRELOAD-1-NEXT:    s_nop 0
2225 ; PRELOAD-1-NEXT:    s_nop 0
2226 ; PRELOAD-1-NEXT:    s_nop 0
2227 ; PRELOAD-1-NEXT:    s_nop 0
2228 ; PRELOAD-1-NEXT:    s_nop 0
2229 ; PRELOAD-1-NEXT:    s_nop 0
2230 ; PRELOAD-1-NEXT:    s_nop 0
2231 ; PRELOAD-1-NEXT:    s_nop 0
2232 ; PRELOAD-1-NEXT:    s_nop 0
2233 ; PRELOAD-1-NEXT:    s_nop 0
2234 ; PRELOAD-1-NEXT:    s_nop 0
2235 ; PRELOAD-1-NEXT:    s_nop 0
2236 ; PRELOAD-1-NEXT:    s_nop 0
2237 ; PRELOAD-1-NEXT:    s_nop 0
2238 ; PRELOAD-1-NEXT:    s_nop 0
2239 ; PRELOAD-1-NEXT:    s_nop 0
2240 ; PRELOAD-1-NEXT:    s_nop 0
2241 ; PRELOAD-1-NEXT:    s_nop 0
2242 ; PRELOAD-1-NEXT:    s_nop 0
2243 ; PRELOAD-1-NEXT:    s_nop 0
2244 ; PRELOAD-1-NEXT:    s_nop 0
2245 ; PRELOAD-1-NEXT:    s_nop 0
2246 ; PRELOAD-1-NEXT:    s_nop 0
2247 ; PRELOAD-1-NEXT:    s_nop 0
2248 ; PRELOAD-1-NEXT:    s_nop 0
2249 ; PRELOAD-1-NEXT:  ; %bb.0:
2250 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x100
2251 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
2252 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
2253 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s0
2254 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s1
2255 ; PRELOAD-1-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
2256 ; PRELOAD-1-NEXT:    s_waitcnt vmcnt(0)
2257 ; PRELOAD-1-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
2258 ; PRELOAD-1-NEXT:    s_waitcnt vmcnt(0)
2259 ; PRELOAD-1-NEXT:    s_endpgm
2261 ; PRELOAD-2-LABEL: byref_preload_arg:
2262 ; PRELOAD-2:         s_nop 0
2263 ; PRELOAD-2-NEXT:    s_nop 0
2264 ; PRELOAD-2-NEXT:    s_nop 0
2265 ; PRELOAD-2-NEXT:    s_nop 0
2266 ; PRELOAD-2-NEXT:    s_nop 0
2267 ; PRELOAD-2-NEXT:    s_nop 0
2268 ; PRELOAD-2-NEXT:    s_nop 0
2269 ; PRELOAD-2-NEXT:    s_nop 0
2270 ; PRELOAD-2-NEXT:    s_nop 0
2271 ; PRELOAD-2-NEXT:    s_nop 0
2272 ; PRELOAD-2-NEXT:    s_nop 0
2273 ; PRELOAD-2-NEXT:    s_nop 0
2274 ; PRELOAD-2-NEXT:    s_nop 0
2275 ; PRELOAD-2-NEXT:    s_nop 0
2276 ; PRELOAD-2-NEXT:    s_nop 0
2277 ; PRELOAD-2-NEXT:    s_nop 0
2278 ; PRELOAD-2-NEXT:    s_nop 0
2279 ; PRELOAD-2-NEXT:    s_nop 0
2280 ; PRELOAD-2-NEXT:    s_nop 0
2281 ; PRELOAD-2-NEXT:    s_nop 0
2282 ; PRELOAD-2-NEXT:    s_nop 0
2283 ; PRELOAD-2-NEXT:    s_nop 0
2284 ; PRELOAD-2-NEXT:    s_nop 0
2285 ; PRELOAD-2-NEXT:    s_nop 0
2286 ; PRELOAD-2-NEXT:    s_nop 0
2287 ; PRELOAD-2-NEXT:    s_nop 0
2288 ; PRELOAD-2-NEXT:    s_nop 0
2289 ; PRELOAD-2-NEXT:    s_nop 0
2290 ; PRELOAD-2-NEXT:    s_nop 0
2291 ; PRELOAD-2-NEXT:    s_nop 0
2292 ; PRELOAD-2-NEXT:    s_nop 0
2293 ; PRELOAD-2-NEXT:    s_nop 0
2294 ; PRELOAD-2-NEXT:    s_nop 0
2295 ; PRELOAD-2-NEXT:    s_nop 0
2296 ; PRELOAD-2-NEXT:    s_nop 0
2297 ; PRELOAD-2-NEXT:    s_nop 0
2298 ; PRELOAD-2-NEXT:    s_nop 0
2299 ; PRELOAD-2-NEXT:    s_nop 0
2300 ; PRELOAD-2-NEXT:    s_nop 0
2301 ; PRELOAD-2-NEXT:    s_nop 0
2302 ; PRELOAD-2-NEXT:    s_nop 0
2303 ; PRELOAD-2-NEXT:    s_nop 0
2304 ; PRELOAD-2-NEXT:    s_nop 0
2305 ; PRELOAD-2-NEXT:    s_nop 0
2306 ; PRELOAD-2-NEXT:    s_nop 0
2307 ; PRELOAD-2-NEXT:    s_nop 0
2308 ; PRELOAD-2-NEXT:    s_nop 0
2309 ; PRELOAD-2-NEXT:    s_nop 0
2310 ; PRELOAD-2-NEXT:    s_nop 0
2311 ; PRELOAD-2-NEXT:    s_nop 0
2312 ; PRELOAD-2-NEXT:    s_nop 0
2313 ; PRELOAD-2-NEXT:    s_nop 0
2314 ; PRELOAD-2-NEXT:    s_nop 0
2315 ; PRELOAD-2-NEXT:    s_nop 0
2316 ; PRELOAD-2-NEXT:    s_nop 0
2317 ; PRELOAD-2-NEXT:    s_nop 0
2318 ; PRELOAD-2-NEXT:    s_nop 0
2319 ; PRELOAD-2-NEXT:    s_nop 0
2320 ; PRELOAD-2-NEXT:    s_nop 0
2321 ; PRELOAD-2-NEXT:    s_nop 0
2322 ; PRELOAD-2-NEXT:    s_nop 0
2323 ; PRELOAD-2-NEXT:    s_nop 0
2324 ; PRELOAD-2-NEXT:    s_nop 0
2325 ; PRELOAD-2-NEXT:    s_nop 0
2326 ; PRELOAD-2-NEXT:  ; %bb.0:
2327 ; PRELOAD-2-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x100
2328 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
2329 ; PRELOAD-2-NEXT:    s_waitcnt lgkmcnt(0)
2330 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s0
2331 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s1
2332 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
2333 ; PRELOAD-2-NEXT:    s_waitcnt vmcnt(0)
2334 ; PRELOAD-2-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
2335 ; PRELOAD-2-NEXT:    s_waitcnt vmcnt(0)
2336 ; PRELOAD-2-NEXT:    s_endpgm
2338 ; PRELOAD-4-LABEL: byref_preload_arg:
2339 ; PRELOAD-4:         s_nop 0
2340 ; PRELOAD-4-NEXT:    s_nop 0
2341 ; PRELOAD-4-NEXT:    s_nop 0
2342 ; PRELOAD-4-NEXT:    s_nop 0
2343 ; PRELOAD-4-NEXT:    s_nop 0
2344 ; PRELOAD-4-NEXT:    s_nop 0
2345 ; PRELOAD-4-NEXT:    s_nop 0
2346 ; PRELOAD-4-NEXT:    s_nop 0
2347 ; PRELOAD-4-NEXT:    s_nop 0
2348 ; PRELOAD-4-NEXT:    s_nop 0
2349 ; PRELOAD-4-NEXT:    s_nop 0
2350 ; PRELOAD-4-NEXT:    s_nop 0
2351 ; PRELOAD-4-NEXT:    s_nop 0
2352 ; PRELOAD-4-NEXT:    s_nop 0
2353 ; PRELOAD-4-NEXT:    s_nop 0
2354 ; PRELOAD-4-NEXT:    s_nop 0
2355 ; PRELOAD-4-NEXT:    s_nop 0
2356 ; PRELOAD-4-NEXT:    s_nop 0
2357 ; PRELOAD-4-NEXT:    s_nop 0
2358 ; PRELOAD-4-NEXT:    s_nop 0
2359 ; PRELOAD-4-NEXT:    s_nop 0
2360 ; PRELOAD-4-NEXT:    s_nop 0
2361 ; PRELOAD-4-NEXT:    s_nop 0
2362 ; PRELOAD-4-NEXT:    s_nop 0
2363 ; PRELOAD-4-NEXT:    s_nop 0
2364 ; PRELOAD-4-NEXT:    s_nop 0
2365 ; PRELOAD-4-NEXT:    s_nop 0
2366 ; PRELOAD-4-NEXT:    s_nop 0
2367 ; PRELOAD-4-NEXT:    s_nop 0
2368 ; PRELOAD-4-NEXT:    s_nop 0
2369 ; PRELOAD-4-NEXT:    s_nop 0
2370 ; PRELOAD-4-NEXT:    s_nop 0
2371 ; PRELOAD-4-NEXT:    s_nop 0
2372 ; PRELOAD-4-NEXT:    s_nop 0
2373 ; PRELOAD-4-NEXT:    s_nop 0
2374 ; PRELOAD-4-NEXT:    s_nop 0
2375 ; PRELOAD-4-NEXT:    s_nop 0
2376 ; PRELOAD-4-NEXT:    s_nop 0
2377 ; PRELOAD-4-NEXT:    s_nop 0
2378 ; PRELOAD-4-NEXT:    s_nop 0
2379 ; PRELOAD-4-NEXT:    s_nop 0
2380 ; PRELOAD-4-NEXT:    s_nop 0
2381 ; PRELOAD-4-NEXT:    s_nop 0
2382 ; PRELOAD-4-NEXT:    s_nop 0
2383 ; PRELOAD-4-NEXT:    s_nop 0
2384 ; PRELOAD-4-NEXT:    s_nop 0
2385 ; PRELOAD-4-NEXT:    s_nop 0
2386 ; PRELOAD-4-NEXT:    s_nop 0
2387 ; PRELOAD-4-NEXT:    s_nop 0
2388 ; PRELOAD-4-NEXT:    s_nop 0
2389 ; PRELOAD-4-NEXT:    s_nop 0
2390 ; PRELOAD-4-NEXT:    s_nop 0
2391 ; PRELOAD-4-NEXT:    s_nop 0
2392 ; PRELOAD-4-NEXT:    s_nop 0
2393 ; PRELOAD-4-NEXT:    s_nop 0
2394 ; PRELOAD-4-NEXT:    s_nop 0
2395 ; PRELOAD-4-NEXT:    s_nop 0
2396 ; PRELOAD-4-NEXT:    s_nop 0
2397 ; PRELOAD-4-NEXT:    s_nop 0
2398 ; PRELOAD-4-NEXT:    s_nop 0
2399 ; PRELOAD-4-NEXT:    s_nop 0
2400 ; PRELOAD-4-NEXT:    s_nop 0
2401 ; PRELOAD-4-NEXT:    s_nop 0
2402 ; PRELOAD-4-NEXT:    s_nop 0
2403 ; PRELOAD-4-NEXT:  ; %bb.0:
2404 ; PRELOAD-4-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x100
2405 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
2406 ; PRELOAD-4-NEXT:    s_waitcnt lgkmcnt(0)
2407 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s0
2408 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s1
2409 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
2410 ; PRELOAD-4-NEXT:    s_waitcnt vmcnt(0)
2411 ; PRELOAD-4-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
2412 ; PRELOAD-4-NEXT:    s_waitcnt vmcnt(0)
2413 ; PRELOAD-4-NEXT:    s_endpgm
2415 ; PRELOAD-8-LABEL: byref_preload_arg:
2416 ; PRELOAD-8:         s_nop 0
2417 ; PRELOAD-8-NEXT:    s_nop 0
2418 ; PRELOAD-8-NEXT:    s_nop 0
2419 ; PRELOAD-8-NEXT:    s_nop 0
2420 ; PRELOAD-8-NEXT:    s_nop 0
2421 ; PRELOAD-8-NEXT:    s_nop 0
2422 ; PRELOAD-8-NEXT:    s_nop 0
2423 ; PRELOAD-8-NEXT:    s_nop 0
2424 ; PRELOAD-8-NEXT:    s_nop 0
2425 ; PRELOAD-8-NEXT:    s_nop 0
2426 ; PRELOAD-8-NEXT:    s_nop 0
2427 ; PRELOAD-8-NEXT:    s_nop 0
2428 ; PRELOAD-8-NEXT:    s_nop 0
2429 ; PRELOAD-8-NEXT:    s_nop 0
2430 ; PRELOAD-8-NEXT:    s_nop 0
2431 ; PRELOAD-8-NEXT:    s_nop 0
2432 ; PRELOAD-8-NEXT:    s_nop 0
2433 ; PRELOAD-8-NEXT:    s_nop 0
2434 ; PRELOAD-8-NEXT:    s_nop 0
2435 ; PRELOAD-8-NEXT:    s_nop 0
2436 ; PRELOAD-8-NEXT:    s_nop 0
2437 ; PRELOAD-8-NEXT:    s_nop 0
2438 ; PRELOAD-8-NEXT:    s_nop 0
2439 ; PRELOAD-8-NEXT:    s_nop 0
2440 ; PRELOAD-8-NEXT:    s_nop 0
2441 ; PRELOAD-8-NEXT:    s_nop 0
2442 ; PRELOAD-8-NEXT:    s_nop 0
2443 ; PRELOAD-8-NEXT:    s_nop 0
2444 ; PRELOAD-8-NEXT:    s_nop 0
2445 ; PRELOAD-8-NEXT:    s_nop 0
2446 ; PRELOAD-8-NEXT:    s_nop 0
2447 ; PRELOAD-8-NEXT:    s_nop 0
2448 ; PRELOAD-8-NEXT:    s_nop 0
2449 ; PRELOAD-8-NEXT:    s_nop 0
2450 ; PRELOAD-8-NEXT:    s_nop 0
2451 ; PRELOAD-8-NEXT:    s_nop 0
2452 ; PRELOAD-8-NEXT:    s_nop 0
2453 ; PRELOAD-8-NEXT:    s_nop 0
2454 ; PRELOAD-8-NEXT:    s_nop 0
2455 ; PRELOAD-8-NEXT:    s_nop 0
2456 ; PRELOAD-8-NEXT:    s_nop 0
2457 ; PRELOAD-8-NEXT:    s_nop 0
2458 ; PRELOAD-8-NEXT:    s_nop 0
2459 ; PRELOAD-8-NEXT:    s_nop 0
2460 ; PRELOAD-8-NEXT:    s_nop 0
2461 ; PRELOAD-8-NEXT:    s_nop 0
2462 ; PRELOAD-8-NEXT:    s_nop 0
2463 ; PRELOAD-8-NEXT:    s_nop 0
2464 ; PRELOAD-8-NEXT:    s_nop 0
2465 ; PRELOAD-8-NEXT:    s_nop 0
2466 ; PRELOAD-8-NEXT:    s_nop 0
2467 ; PRELOAD-8-NEXT:    s_nop 0
2468 ; PRELOAD-8-NEXT:    s_nop 0
2469 ; PRELOAD-8-NEXT:    s_nop 0
2470 ; PRELOAD-8-NEXT:    s_nop 0
2471 ; PRELOAD-8-NEXT:    s_nop 0
2472 ; PRELOAD-8-NEXT:    s_nop 0
2473 ; PRELOAD-8-NEXT:    s_nop 0
2474 ; PRELOAD-8-NEXT:    s_nop 0
2475 ; PRELOAD-8-NEXT:    s_nop 0
2476 ; PRELOAD-8-NEXT:    s_nop 0
2477 ; PRELOAD-8-NEXT:    s_nop 0
2478 ; PRELOAD-8-NEXT:    s_nop 0
2479 ; PRELOAD-8-NEXT:    s_nop 0
2480 ; PRELOAD-8-NEXT:  ; %bb.0:
2481 ; PRELOAD-8-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x100
2482 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
2483 ; PRELOAD-8-NEXT:    s_waitcnt lgkmcnt(0)
2484 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s0
2485 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s1
2486 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
2487 ; PRELOAD-8-NEXT:    s_waitcnt vmcnt(0)
2488 ; PRELOAD-8-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
2489 ; PRELOAD-8-NEXT:    s_waitcnt vmcnt(0)
2490 ; PRELOAD-8-NEXT:    s_endpgm
2491   %in = load i32, ptr addrspace(4) %in.byref
2492   store volatile i32 %in, ptr addrspace(1) %out, align 4
2493   store volatile i32 %after.offset, ptr addrspace(1) %out, align 4
2494   ret void
2497 ; TODO: Should do partial preload in cases like these where only part of the arg
2498 ; can be preloaded.
2500 define amdgpu_kernel void @v8i32_arg(ptr addrspace(1) nocapture %out, <8 x i32> %in) nounwind {
2501 ; NO-PRELOAD-LABEL: v8i32_arg:
2502 ; NO-PRELOAD:       ; %bb.0:
2503 ; NO-PRELOAD-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x20
2504 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v4, 0
2505 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x0
2506 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
2507 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s8
2508 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s9
2509 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s10
2510 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, s11
2511 ; NO-PRELOAD-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1] offset:16 sc0 sc1
2512 ; NO-PRELOAD-NEXT:    s_nop 1
2513 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s4
2514 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s5
2515 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s6
2516 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, s7
2517 ; NO-PRELOAD-NEXT:    global_store_dwordx4 v4, v[0:3], s[0:1] sc0 sc1
2518 ; NO-PRELOAD-NEXT:    s_endpgm
2520 ; PRELOAD-1-LABEL: v8i32_arg:
2521 ; PRELOAD-1:         s_nop 0
2522 ; PRELOAD-1-NEXT:    s_nop 0
2523 ; PRELOAD-1-NEXT:    s_nop 0
2524 ; PRELOAD-1-NEXT:    s_nop 0
2525 ; PRELOAD-1-NEXT:    s_nop 0
2526 ; PRELOAD-1-NEXT:    s_nop 0
2527 ; PRELOAD-1-NEXT:    s_nop 0
2528 ; PRELOAD-1-NEXT:    s_nop 0
2529 ; PRELOAD-1-NEXT:    s_nop 0
2530 ; PRELOAD-1-NEXT:    s_nop 0
2531 ; PRELOAD-1-NEXT:    s_nop 0
2532 ; PRELOAD-1-NEXT:    s_nop 0
2533 ; PRELOAD-1-NEXT:    s_nop 0
2534 ; PRELOAD-1-NEXT:    s_nop 0
2535 ; PRELOAD-1-NEXT:    s_nop 0
2536 ; PRELOAD-1-NEXT:    s_nop 0
2537 ; PRELOAD-1-NEXT:    s_nop 0
2538 ; PRELOAD-1-NEXT:    s_nop 0
2539 ; PRELOAD-1-NEXT:    s_nop 0
2540 ; PRELOAD-1-NEXT:    s_nop 0
2541 ; PRELOAD-1-NEXT:    s_nop 0
2542 ; PRELOAD-1-NEXT:    s_nop 0
2543 ; PRELOAD-1-NEXT:    s_nop 0
2544 ; PRELOAD-1-NEXT:    s_nop 0
2545 ; PRELOAD-1-NEXT:    s_nop 0
2546 ; PRELOAD-1-NEXT:    s_nop 0
2547 ; PRELOAD-1-NEXT:    s_nop 0
2548 ; PRELOAD-1-NEXT:    s_nop 0
2549 ; PRELOAD-1-NEXT:    s_nop 0
2550 ; PRELOAD-1-NEXT:    s_nop 0
2551 ; PRELOAD-1-NEXT:    s_nop 0
2552 ; PRELOAD-1-NEXT:    s_nop 0
2553 ; PRELOAD-1-NEXT:    s_nop 0
2554 ; PRELOAD-1-NEXT:    s_nop 0
2555 ; PRELOAD-1-NEXT:    s_nop 0
2556 ; PRELOAD-1-NEXT:    s_nop 0
2557 ; PRELOAD-1-NEXT:    s_nop 0
2558 ; PRELOAD-1-NEXT:    s_nop 0
2559 ; PRELOAD-1-NEXT:    s_nop 0
2560 ; PRELOAD-1-NEXT:    s_nop 0
2561 ; PRELOAD-1-NEXT:    s_nop 0
2562 ; PRELOAD-1-NEXT:    s_nop 0
2563 ; PRELOAD-1-NEXT:    s_nop 0
2564 ; PRELOAD-1-NEXT:    s_nop 0
2565 ; PRELOAD-1-NEXT:    s_nop 0
2566 ; PRELOAD-1-NEXT:    s_nop 0
2567 ; PRELOAD-1-NEXT:    s_nop 0
2568 ; PRELOAD-1-NEXT:    s_nop 0
2569 ; PRELOAD-1-NEXT:    s_nop 0
2570 ; PRELOAD-1-NEXT:    s_nop 0
2571 ; PRELOAD-1-NEXT:    s_nop 0
2572 ; PRELOAD-1-NEXT:    s_nop 0
2573 ; PRELOAD-1-NEXT:    s_nop 0
2574 ; PRELOAD-1-NEXT:    s_nop 0
2575 ; PRELOAD-1-NEXT:    s_nop 0
2576 ; PRELOAD-1-NEXT:    s_nop 0
2577 ; PRELOAD-1-NEXT:    s_nop 0
2578 ; PRELOAD-1-NEXT:    s_nop 0
2579 ; PRELOAD-1-NEXT:    s_nop 0
2580 ; PRELOAD-1-NEXT:    s_nop 0
2581 ; PRELOAD-1-NEXT:    s_nop 0
2582 ; PRELOAD-1-NEXT:    s_nop 0
2583 ; PRELOAD-1-NEXT:    s_nop 0
2584 ; PRELOAD-1-NEXT:    s_nop 0
2585 ; PRELOAD-1-NEXT:  ; %bb.0:
2586 ; PRELOAD-1-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x20
2587 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v4, 0
2588 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
2589 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s8
2590 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s9
2591 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s10
2592 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, s11
2593 ; PRELOAD-1-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
2594 ; PRELOAD-1-NEXT:    s_nop 1
2595 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s4
2596 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s5
2597 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s6
2598 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, s7
2599 ; PRELOAD-1-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
2600 ; PRELOAD-1-NEXT:    s_endpgm
2602 ; PRELOAD-2-LABEL: v8i32_arg:
2603 ; PRELOAD-2:         s_nop 0
2604 ; PRELOAD-2-NEXT:    s_nop 0
2605 ; PRELOAD-2-NEXT:    s_nop 0
2606 ; PRELOAD-2-NEXT:    s_nop 0
2607 ; PRELOAD-2-NEXT:    s_nop 0
2608 ; PRELOAD-2-NEXT:    s_nop 0
2609 ; PRELOAD-2-NEXT:    s_nop 0
2610 ; PRELOAD-2-NEXT:    s_nop 0
2611 ; PRELOAD-2-NEXT:    s_nop 0
2612 ; PRELOAD-2-NEXT:    s_nop 0
2613 ; PRELOAD-2-NEXT:    s_nop 0
2614 ; PRELOAD-2-NEXT:    s_nop 0
2615 ; PRELOAD-2-NEXT:    s_nop 0
2616 ; PRELOAD-2-NEXT:    s_nop 0
2617 ; PRELOAD-2-NEXT:    s_nop 0
2618 ; PRELOAD-2-NEXT:    s_nop 0
2619 ; PRELOAD-2-NEXT:    s_nop 0
2620 ; PRELOAD-2-NEXT:    s_nop 0
2621 ; PRELOAD-2-NEXT:    s_nop 0
2622 ; PRELOAD-2-NEXT:    s_nop 0
2623 ; PRELOAD-2-NEXT:    s_nop 0
2624 ; PRELOAD-2-NEXT:    s_nop 0
2625 ; PRELOAD-2-NEXT:    s_nop 0
2626 ; PRELOAD-2-NEXT:    s_nop 0
2627 ; PRELOAD-2-NEXT:    s_nop 0
2628 ; PRELOAD-2-NEXT:    s_nop 0
2629 ; PRELOAD-2-NEXT:    s_nop 0
2630 ; PRELOAD-2-NEXT:    s_nop 0
2631 ; PRELOAD-2-NEXT:    s_nop 0
2632 ; PRELOAD-2-NEXT:    s_nop 0
2633 ; PRELOAD-2-NEXT:    s_nop 0
2634 ; PRELOAD-2-NEXT:    s_nop 0
2635 ; PRELOAD-2-NEXT:    s_nop 0
2636 ; PRELOAD-2-NEXT:    s_nop 0
2637 ; PRELOAD-2-NEXT:    s_nop 0
2638 ; PRELOAD-2-NEXT:    s_nop 0
2639 ; PRELOAD-2-NEXT:    s_nop 0
2640 ; PRELOAD-2-NEXT:    s_nop 0
2641 ; PRELOAD-2-NEXT:    s_nop 0
2642 ; PRELOAD-2-NEXT:    s_nop 0
2643 ; PRELOAD-2-NEXT:    s_nop 0
2644 ; PRELOAD-2-NEXT:    s_nop 0
2645 ; PRELOAD-2-NEXT:    s_nop 0
2646 ; PRELOAD-2-NEXT:    s_nop 0
2647 ; PRELOAD-2-NEXT:    s_nop 0
2648 ; PRELOAD-2-NEXT:    s_nop 0
2649 ; PRELOAD-2-NEXT:    s_nop 0
2650 ; PRELOAD-2-NEXT:    s_nop 0
2651 ; PRELOAD-2-NEXT:    s_nop 0
2652 ; PRELOAD-2-NEXT:    s_nop 0
2653 ; PRELOAD-2-NEXT:    s_nop 0
2654 ; PRELOAD-2-NEXT:    s_nop 0
2655 ; PRELOAD-2-NEXT:    s_nop 0
2656 ; PRELOAD-2-NEXT:    s_nop 0
2657 ; PRELOAD-2-NEXT:    s_nop 0
2658 ; PRELOAD-2-NEXT:    s_nop 0
2659 ; PRELOAD-2-NEXT:    s_nop 0
2660 ; PRELOAD-2-NEXT:    s_nop 0
2661 ; PRELOAD-2-NEXT:    s_nop 0
2662 ; PRELOAD-2-NEXT:    s_nop 0
2663 ; PRELOAD-2-NEXT:    s_nop 0
2664 ; PRELOAD-2-NEXT:    s_nop 0
2665 ; PRELOAD-2-NEXT:    s_nop 0
2666 ; PRELOAD-2-NEXT:    s_nop 0
2667 ; PRELOAD-2-NEXT:  ; %bb.0:
2668 ; PRELOAD-2-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x20
2669 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v4, 0
2670 ; PRELOAD-2-NEXT:    s_waitcnt lgkmcnt(0)
2671 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s8
2672 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s9
2673 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s10
2674 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, s11
2675 ; PRELOAD-2-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
2676 ; PRELOAD-2-NEXT:    s_nop 1
2677 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s4
2678 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s5
2679 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s6
2680 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, s7
2681 ; PRELOAD-2-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
2682 ; PRELOAD-2-NEXT:    s_endpgm
2684 ; PRELOAD-4-LABEL: v8i32_arg:
2685 ; PRELOAD-4:         s_nop 0
2686 ; PRELOAD-4-NEXT:    s_nop 0
2687 ; PRELOAD-4-NEXT:    s_nop 0
2688 ; PRELOAD-4-NEXT:    s_nop 0
2689 ; PRELOAD-4-NEXT:    s_nop 0
2690 ; PRELOAD-4-NEXT:    s_nop 0
2691 ; PRELOAD-4-NEXT:    s_nop 0
2692 ; PRELOAD-4-NEXT:    s_nop 0
2693 ; PRELOAD-4-NEXT:    s_nop 0
2694 ; PRELOAD-4-NEXT:    s_nop 0
2695 ; PRELOAD-4-NEXT:    s_nop 0
2696 ; PRELOAD-4-NEXT:    s_nop 0
2697 ; PRELOAD-4-NEXT:    s_nop 0
2698 ; PRELOAD-4-NEXT:    s_nop 0
2699 ; PRELOAD-4-NEXT:    s_nop 0
2700 ; PRELOAD-4-NEXT:    s_nop 0
2701 ; PRELOAD-4-NEXT:    s_nop 0
2702 ; PRELOAD-4-NEXT:    s_nop 0
2703 ; PRELOAD-4-NEXT:    s_nop 0
2704 ; PRELOAD-4-NEXT:    s_nop 0
2705 ; PRELOAD-4-NEXT:    s_nop 0
2706 ; PRELOAD-4-NEXT:    s_nop 0
2707 ; PRELOAD-4-NEXT:    s_nop 0
2708 ; PRELOAD-4-NEXT:    s_nop 0
2709 ; PRELOAD-4-NEXT:    s_nop 0
2710 ; PRELOAD-4-NEXT:    s_nop 0
2711 ; PRELOAD-4-NEXT:    s_nop 0
2712 ; PRELOAD-4-NEXT:    s_nop 0
2713 ; PRELOAD-4-NEXT:    s_nop 0
2714 ; PRELOAD-4-NEXT:    s_nop 0
2715 ; PRELOAD-4-NEXT:    s_nop 0
2716 ; PRELOAD-4-NEXT:    s_nop 0
2717 ; PRELOAD-4-NEXT:    s_nop 0
2718 ; PRELOAD-4-NEXT:    s_nop 0
2719 ; PRELOAD-4-NEXT:    s_nop 0
2720 ; PRELOAD-4-NEXT:    s_nop 0
2721 ; PRELOAD-4-NEXT:    s_nop 0
2722 ; PRELOAD-4-NEXT:    s_nop 0
2723 ; PRELOAD-4-NEXT:    s_nop 0
2724 ; PRELOAD-4-NEXT:    s_nop 0
2725 ; PRELOAD-4-NEXT:    s_nop 0
2726 ; PRELOAD-4-NEXT:    s_nop 0
2727 ; PRELOAD-4-NEXT:    s_nop 0
2728 ; PRELOAD-4-NEXT:    s_nop 0
2729 ; PRELOAD-4-NEXT:    s_nop 0
2730 ; PRELOAD-4-NEXT:    s_nop 0
2731 ; PRELOAD-4-NEXT:    s_nop 0
2732 ; PRELOAD-4-NEXT:    s_nop 0
2733 ; PRELOAD-4-NEXT:    s_nop 0
2734 ; PRELOAD-4-NEXT:    s_nop 0
2735 ; PRELOAD-4-NEXT:    s_nop 0
2736 ; PRELOAD-4-NEXT:    s_nop 0
2737 ; PRELOAD-4-NEXT:    s_nop 0
2738 ; PRELOAD-4-NEXT:    s_nop 0
2739 ; PRELOAD-4-NEXT:    s_nop 0
2740 ; PRELOAD-4-NEXT:    s_nop 0
2741 ; PRELOAD-4-NEXT:    s_nop 0
2742 ; PRELOAD-4-NEXT:    s_nop 0
2743 ; PRELOAD-4-NEXT:    s_nop 0
2744 ; PRELOAD-4-NEXT:    s_nop 0
2745 ; PRELOAD-4-NEXT:    s_nop 0
2746 ; PRELOAD-4-NEXT:    s_nop 0
2747 ; PRELOAD-4-NEXT:    s_nop 0
2748 ; PRELOAD-4-NEXT:    s_nop 0
2749 ; PRELOAD-4-NEXT:  ; %bb.0:
2750 ; PRELOAD-4-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x20
2751 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v4, 0
2752 ; PRELOAD-4-NEXT:    s_waitcnt lgkmcnt(0)
2753 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s8
2754 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s9
2755 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s10
2756 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, s11
2757 ; PRELOAD-4-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
2758 ; PRELOAD-4-NEXT:    s_nop 1
2759 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s4
2760 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s5
2761 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s6
2762 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, s7
2763 ; PRELOAD-4-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
2764 ; PRELOAD-4-NEXT:    s_endpgm
2766 ; PRELOAD-8-LABEL: v8i32_arg:
2767 ; PRELOAD-8:         s_nop 0
2768 ; PRELOAD-8-NEXT:    s_nop 0
2769 ; PRELOAD-8-NEXT:    s_nop 0
2770 ; PRELOAD-8-NEXT:    s_nop 0
2771 ; PRELOAD-8-NEXT:    s_nop 0
2772 ; PRELOAD-8-NEXT:    s_nop 0
2773 ; PRELOAD-8-NEXT:    s_nop 0
2774 ; PRELOAD-8-NEXT:    s_nop 0
2775 ; PRELOAD-8-NEXT:    s_nop 0
2776 ; PRELOAD-8-NEXT:    s_nop 0
2777 ; PRELOAD-8-NEXT:    s_nop 0
2778 ; PRELOAD-8-NEXT:    s_nop 0
2779 ; PRELOAD-8-NEXT:    s_nop 0
2780 ; PRELOAD-8-NEXT:    s_nop 0
2781 ; PRELOAD-8-NEXT:    s_nop 0
2782 ; PRELOAD-8-NEXT:    s_nop 0
2783 ; PRELOAD-8-NEXT:    s_nop 0
2784 ; PRELOAD-8-NEXT:    s_nop 0
2785 ; PRELOAD-8-NEXT:    s_nop 0
2786 ; PRELOAD-8-NEXT:    s_nop 0
2787 ; PRELOAD-8-NEXT:    s_nop 0
2788 ; PRELOAD-8-NEXT:    s_nop 0
2789 ; PRELOAD-8-NEXT:    s_nop 0
2790 ; PRELOAD-8-NEXT:    s_nop 0
2791 ; PRELOAD-8-NEXT:    s_nop 0
2792 ; PRELOAD-8-NEXT:    s_nop 0
2793 ; PRELOAD-8-NEXT:    s_nop 0
2794 ; PRELOAD-8-NEXT:    s_nop 0
2795 ; PRELOAD-8-NEXT:    s_nop 0
2796 ; PRELOAD-8-NEXT:    s_nop 0
2797 ; PRELOAD-8-NEXT:    s_nop 0
2798 ; PRELOAD-8-NEXT:    s_nop 0
2799 ; PRELOAD-8-NEXT:    s_nop 0
2800 ; PRELOAD-8-NEXT:    s_nop 0
2801 ; PRELOAD-8-NEXT:    s_nop 0
2802 ; PRELOAD-8-NEXT:    s_nop 0
2803 ; PRELOAD-8-NEXT:    s_nop 0
2804 ; PRELOAD-8-NEXT:    s_nop 0
2805 ; PRELOAD-8-NEXT:    s_nop 0
2806 ; PRELOAD-8-NEXT:    s_nop 0
2807 ; PRELOAD-8-NEXT:    s_nop 0
2808 ; PRELOAD-8-NEXT:    s_nop 0
2809 ; PRELOAD-8-NEXT:    s_nop 0
2810 ; PRELOAD-8-NEXT:    s_nop 0
2811 ; PRELOAD-8-NEXT:    s_nop 0
2812 ; PRELOAD-8-NEXT:    s_nop 0
2813 ; PRELOAD-8-NEXT:    s_nop 0
2814 ; PRELOAD-8-NEXT:    s_nop 0
2815 ; PRELOAD-8-NEXT:    s_nop 0
2816 ; PRELOAD-8-NEXT:    s_nop 0
2817 ; PRELOAD-8-NEXT:    s_nop 0
2818 ; PRELOAD-8-NEXT:    s_nop 0
2819 ; PRELOAD-8-NEXT:    s_nop 0
2820 ; PRELOAD-8-NEXT:    s_nop 0
2821 ; PRELOAD-8-NEXT:    s_nop 0
2822 ; PRELOAD-8-NEXT:    s_nop 0
2823 ; PRELOAD-8-NEXT:    s_nop 0
2824 ; PRELOAD-8-NEXT:    s_nop 0
2825 ; PRELOAD-8-NEXT:    s_nop 0
2826 ; PRELOAD-8-NEXT:    s_nop 0
2827 ; PRELOAD-8-NEXT:    s_nop 0
2828 ; PRELOAD-8-NEXT:    s_nop 0
2829 ; PRELOAD-8-NEXT:    s_nop 0
2830 ; PRELOAD-8-NEXT:    s_nop 0
2831 ; PRELOAD-8-NEXT:  ; %bb.0:
2832 ; PRELOAD-8-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x20
2833 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v4, 0
2834 ; PRELOAD-8-NEXT:    s_waitcnt lgkmcnt(0)
2835 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s8
2836 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s9
2837 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s10
2838 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, s11
2839 ; PRELOAD-8-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
2840 ; PRELOAD-8-NEXT:    s_nop 1
2841 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s4
2842 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s5
2843 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s6
2844 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, s7
2845 ; PRELOAD-8-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
2846 ; PRELOAD-8-NEXT:    s_endpgm
2847   store <8 x i32> %in, ptr addrspace(1) %out, align 4
2848   ret void
2851 define amdgpu_kernel void @v3i16_preload_arg(ptr addrspace(1) nocapture %out, <3 x i16> %in) nounwind {
2852 ; NO-PRELOAD-LABEL: v3i16_preload_arg:
2853 ; NO-PRELOAD:       ; %bb.0:
2854 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[0:3], s[0:1], 0x0
2855 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
2856 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
2857 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s3
2858 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s2
2859 ; NO-PRELOAD-NEXT:    global_store_short v0, v1, s[0:1] offset:4 sc0 sc1
2860 ; NO-PRELOAD-NEXT:    global_store_dword v0, v2, s[0:1] sc0 sc1
2861 ; NO-PRELOAD-NEXT:    s_endpgm
2863 ; PRELOAD-1-LABEL: v3i16_preload_arg:
2864 ; PRELOAD-1:         s_nop 0
2865 ; PRELOAD-1-NEXT:    s_nop 0
2866 ; PRELOAD-1-NEXT:    s_nop 0
2867 ; PRELOAD-1-NEXT:    s_nop 0
2868 ; PRELOAD-1-NEXT:    s_nop 0
2869 ; PRELOAD-1-NEXT:    s_nop 0
2870 ; PRELOAD-1-NEXT:    s_nop 0
2871 ; PRELOAD-1-NEXT:    s_nop 0
2872 ; PRELOAD-1-NEXT:    s_nop 0
2873 ; PRELOAD-1-NEXT:    s_nop 0
2874 ; PRELOAD-1-NEXT:    s_nop 0
2875 ; PRELOAD-1-NEXT:    s_nop 0
2876 ; PRELOAD-1-NEXT:    s_nop 0
2877 ; PRELOAD-1-NEXT:    s_nop 0
2878 ; PRELOAD-1-NEXT:    s_nop 0
2879 ; PRELOAD-1-NEXT:    s_nop 0
2880 ; PRELOAD-1-NEXT:    s_nop 0
2881 ; PRELOAD-1-NEXT:    s_nop 0
2882 ; PRELOAD-1-NEXT:    s_nop 0
2883 ; PRELOAD-1-NEXT:    s_nop 0
2884 ; PRELOAD-1-NEXT:    s_nop 0
2885 ; PRELOAD-1-NEXT:    s_nop 0
2886 ; PRELOAD-1-NEXT:    s_nop 0
2887 ; PRELOAD-1-NEXT:    s_nop 0
2888 ; PRELOAD-1-NEXT:    s_nop 0
2889 ; PRELOAD-1-NEXT:    s_nop 0
2890 ; PRELOAD-1-NEXT:    s_nop 0
2891 ; PRELOAD-1-NEXT:    s_nop 0
2892 ; PRELOAD-1-NEXT:    s_nop 0
2893 ; PRELOAD-1-NEXT:    s_nop 0
2894 ; PRELOAD-1-NEXT:    s_nop 0
2895 ; PRELOAD-1-NEXT:    s_nop 0
2896 ; PRELOAD-1-NEXT:    s_nop 0
2897 ; PRELOAD-1-NEXT:    s_nop 0
2898 ; PRELOAD-1-NEXT:    s_nop 0
2899 ; PRELOAD-1-NEXT:    s_nop 0
2900 ; PRELOAD-1-NEXT:    s_nop 0
2901 ; PRELOAD-1-NEXT:    s_nop 0
2902 ; PRELOAD-1-NEXT:    s_nop 0
2903 ; PRELOAD-1-NEXT:    s_nop 0
2904 ; PRELOAD-1-NEXT:    s_nop 0
2905 ; PRELOAD-1-NEXT:    s_nop 0
2906 ; PRELOAD-1-NEXT:    s_nop 0
2907 ; PRELOAD-1-NEXT:    s_nop 0
2908 ; PRELOAD-1-NEXT:    s_nop 0
2909 ; PRELOAD-1-NEXT:    s_nop 0
2910 ; PRELOAD-1-NEXT:    s_nop 0
2911 ; PRELOAD-1-NEXT:    s_nop 0
2912 ; PRELOAD-1-NEXT:    s_nop 0
2913 ; PRELOAD-1-NEXT:    s_nop 0
2914 ; PRELOAD-1-NEXT:    s_nop 0
2915 ; PRELOAD-1-NEXT:    s_nop 0
2916 ; PRELOAD-1-NEXT:    s_nop 0
2917 ; PRELOAD-1-NEXT:    s_nop 0
2918 ; PRELOAD-1-NEXT:    s_nop 0
2919 ; PRELOAD-1-NEXT:    s_nop 0
2920 ; PRELOAD-1-NEXT:    s_nop 0
2921 ; PRELOAD-1-NEXT:    s_nop 0
2922 ; PRELOAD-1-NEXT:    s_nop 0
2923 ; PRELOAD-1-NEXT:    s_nop 0
2924 ; PRELOAD-1-NEXT:    s_nop 0
2925 ; PRELOAD-1-NEXT:    s_nop 0
2926 ; PRELOAD-1-NEXT:    s_nop 0
2927 ; PRELOAD-1-NEXT:    s_nop 0
2928 ; PRELOAD-1-NEXT:  ; %bb.0:
2929 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x8
2930 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
2931 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
2932 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s1
2933 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s0
2934 ; PRELOAD-1-NEXT:    global_store_short v0, v1, s[2:3] offset:4 sc0 sc1
2935 ; PRELOAD-1-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
2936 ; PRELOAD-1-NEXT:    s_endpgm
2938 ; PRELOAD-2-LABEL: v3i16_preload_arg:
2939 ; PRELOAD-2:         s_nop 0
2940 ; PRELOAD-2-NEXT:    s_nop 0
2941 ; PRELOAD-2-NEXT:    s_nop 0
2942 ; PRELOAD-2-NEXT:    s_nop 0
2943 ; PRELOAD-2-NEXT:    s_nop 0
2944 ; PRELOAD-2-NEXT:    s_nop 0
2945 ; PRELOAD-2-NEXT:    s_nop 0
2946 ; PRELOAD-2-NEXT:    s_nop 0
2947 ; PRELOAD-2-NEXT:    s_nop 0
2948 ; PRELOAD-2-NEXT:    s_nop 0
2949 ; PRELOAD-2-NEXT:    s_nop 0
2950 ; PRELOAD-2-NEXT:    s_nop 0
2951 ; PRELOAD-2-NEXT:    s_nop 0
2952 ; PRELOAD-2-NEXT:    s_nop 0
2953 ; PRELOAD-2-NEXT:    s_nop 0
2954 ; PRELOAD-2-NEXT:    s_nop 0
2955 ; PRELOAD-2-NEXT:    s_nop 0
2956 ; PRELOAD-2-NEXT:    s_nop 0
2957 ; PRELOAD-2-NEXT:    s_nop 0
2958 ; PRELOAD-2-NEXT:    s_nop 0
2959 ; PRELOAD-2-NEXT:    s_nop 0
2960 ; PRELOAD-2-NEXT:    s_nop 0
2961 ; PRELOAD-2-NEXT:    s_nop 0
2962 ; PRELOAD-2-NEXT:    s_nop 0
2963 ; PRELOAD-2-NEXT:    s_nop 0
2964 ; PRELOAD-2-NEXT:    s_nop 0
2965 ; PRELOAD-2-NEXT:    s_nop 0
2966 ; PRELOAD-2-NEXT:    s_nop 0
2967 ; PRELOAD-2-NEXT:    s_nop 0
2968 ; PRELOAD-2-NEXT:    s_nop 0
2969 ; PRELOAD-2-NEXT:    s_nop 0
2970 ; PRELOAD-2-NEXT:    s_nop 0
2971 ; PRELOAD-2-NEXT:    s_nop 0
2972 ; PRELOAD-2-NEXT:    s_nop 0
2973 ; PRELOAD-2-NEXT:    s_nop 0
2974 ; PRELOAD-2-NEXT:    s_nop 0
2975 ; PRELOAD-2-NEXT:    s_nop 0
2976 ; PRELOAD-2-NEXT:    s_nop 0
2977 ; PRELOAD-2-NEXT:    s_nop 0
2978 ; PRELOAD-2-NEXT:    s_nop 0
2979 ; PRELOAD-2-NEXT:    s_nop 0
2980 ; PRELOAD-2-NEXT:    s_nop 0
2981 ; PRELOAD-2-NEXT:    s_nop 0
2982 ; PRELOAD-2-NEXT:    s_nop 0
2983 ; PRELOAD-2-NEXT:    s_nop 0
2984 ; PRELOAD-2-NEXT:    s_nop 0
2985 ; PRELOAD-2-NEXT:    s_nop 0
2986 ; PRELOAD-2-NEXT:    s_nop 0
2987 ; PRELOAD-2-NEXT:    s_nop 0
2988 ; PRELOAD-2-NEXT:    s_nop 0
2989 ; PRELOAD-2-NEXT:    s_nop 0
2990 ; PRELOAD-2-NEXT:    s_nop 0
2991 ; PRELOAD-2-NEXT:    s_nop 0
2992 ; PRELOAD-2-NEXT:    s_nop 0
2993 ; PRELOAD-2-NEXT:    s_nop 0
2994 ; PRELOAD-2-NEXT:    s_nop 0
2995 ; PRELOAD-2-NEXT:    s_nop 0
2996 ; PRELOAD-2-NEXT:    s_nop 0
2997 ; PRELOAD-2-NEXT:    s_nop 0
2998 ; PRELOAD-2-NEXT:    s_nop 0
2999 ; PRELOAD-2-NEXT:    s_nop 0
3000 ; PRELOAD-2-NEXT:    s_nop 0
3001 ; PRELOAD-2-NEXT:    s_nop 0
3002 ; PRELOAD-2-NEXT:    s_nop 0
3003 ; PRELOAD-2-NEXT:  ; %bb.0:
3004 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, 0
3005 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s5
3006 ; PRELOAD-2-NEXT:    global_store_short v0, v1, s[2:3] offset:4 sc0 sc1
3007 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s4
3008 ; PRELOAD-2-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
3009 ; PRELOAD-2-NEXT:    s_endpgm
3011 ; PRELOAD-4-LABEL: v3i16_preload_arg:
3012 ; PRELOAD-4:         s_nop 0
3013 ; PRELOAD-4-NEXT:    s_nop 0
3014 ; PRELOAD-4-NEXT:    s_nop 0
3015 ; PRELOAD-4-NEXT:    s_nop 0
3016 ; PRELOAD-4-NEXT:    s_nop 0
3017 ; PRELOAD-4-NEXT:    s_nop 0
3018 ; PRELOAD-4-NEXT:    s_nop 0
3019 ; PRELOAD-4-NEXT:    s_nop 0
3020 ; PRELOAD-4-NEXT:    s_nop 0
3021 ; PRELOAD-4-NEXT:    s_nop 0
3022 ; PRELOAD-4-NEXT:    s_nop 0
3023 ; PRELOAD-4-NEXT:    s_nop 0
3024 ; PRELOAD-4-NEXT:    s_nop 0
3025 ; PRELOAD-4-NEXT:    s_nop 0
3026 ; PRELOAD-4-NEXT:    s_nop 0
3027 ; PRELOAD-4-NEXT:    s_nop 0
3028 ; PRELOAD-4-NEXT:    s_nop 0
3029 ; PRELOAD-4-NEXT:    s_nop 0
3030 ; PRELOAD-4-NEXT:    s_nop 0
3031 ; PRELOAD-4-NEXT:    s_nop 0
3032 ; PRELOAD-4-NEXT:    s_nop 0
3033 ; PRELOAD-4-NEXT:    s_nop 0
3034 ; PRELOAD-4-NEXT:    s_nop 0
3035 ; PRELOAD-4-NEXT:    s_nop 0
3036 ; PRELOAD-4-NEXT:    s_nop 0
3037 ; PRELOAD-4-NEXT:    s_nop 0
3038 ; PRELOAD-4-NEXT:    s_nop 0
3039 ; PRELOAD-4-NEXT:    s_nop 0
3040 ; PRELOAD-4-NEXT:    s_nop 0
3041 ; PRELOAD-4-NEXT:    s_nop 0
3042 ; PRELOAD-4-NEXT:    s_nop 0
3043 ; PRELOAD-4-NEXT:    s_nop 0
3044 ; PRELOAD-4-NEXT:    s_nop 0
3045 ; PRELOAD-4-NEXT:    s_nop 0
3046 ; PRELOAD-4-NEXT:    s_nop 0
3047 ; PRELOAD-4-NEXT:    s_nop 0
3048 ; PRELOAD-4-NEXT:    s_nop 0
3049 ; PRELOAD-4-NEXT:    s_nop 0
3050 ; PRELOAD-4-NEXT:    s_nop 0
3051 ; PRELOAD-4-NEXT:    s_nop 0
3052 ; PRELOAD-4-NEXT:    s_nop 0
3053 ; PRELOAD-4-NEXT:    s_nop 0
3054 ; PRELOAD-4-NEXT:    s_nop 0
3055 ; PRELOAD-4-NEXT:    s_nop 0
3056 ; PRELOAD-4-NEXT:    s_nop 0
3057 ; PRELOAD-4-NEXT:    s_nop 0
3058 ; PRELOAD-4-NEXT:    s_nop 0
3059 ; PRELOAD-4-NEXT:    s_nop 0
3060 ; PRELOAD-4-NEXT:    s_nop 0
3061 ; PRELOAD-4-NEXT:    s_nop 0
3062 ; PRELOAD-4-NEXT:    s_nop 0
3063 ; PRELOAD-4-NEXT:    s_nop 0
3064 ; PRELOAD-4-NEXT:    s_nop 0
3065 ; PRELOAD-4-NEXT:    s_nop 0
3066 ; PRELOAD-4-NEXT:    s_nop 0
3067 ; PRELOAD-4-NEXT:    s_nop 0
3068 ; PRELOAD-4-NEXT:    s_nop 0
3069 ; PRELOAD-4-NEXT:    s_nop 0
3070 ; PRELOAD-4-NEXT:    s_nop 0
3071 ; PRELOAD-4-NEXT:    s_nop 0
3072 ; PRELOAD-4-NEXT:    s_nop 0
3073 ; PRELOAD-4-NEXT:    s_nop 0
3074 ; PRELOAD-4-NEXT:    s_nop 0
3075 ; PRELOAD-4-NEXT:    s_nop 0
3076 ; PRELOAD-4-NEXT:  ; %bb.0:
3077 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, 0
3078 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s5
3079 ; PRELOAD-4-NEXT:    global_store_short v0, v1, s[2:3] offset:4 sc0 sc1
3080 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s4
3081 ; PRELOAD-4-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
3082 ; PRELOAD-4-NEXT:    s_endpgm
3084 ; PRELOAD-8-LABEL: v3i16_preload_arg:
3085 ; PRELOAD-8:         s_nop 0
3086 ; PRELOAD-8-NEXT:    s_nop 0
3087 ; PRELOAD-8-NEXT:    s_nop 0
3088 ; PRELOAD-8-NEXT:    s_nop 0
3089 ; PRELOAD-8-NEXT:    s_nop 0
3090 ; PRELOAD-8-NEXT:    s_nop 0
3091 ; PRELOAD-8-NEXT:    s_nop 0
3092 ; PRELOAD-8-NEXT:    s_nop 0
3093 ; PRELOAD-8-NEXT:    s_nop 0
3094 ; PRELOAD-8-NEXT:    s_nop 0
3095 ; PRELOAD-8-NEXT:    s_nop 0
3096 ; PRELOAD-8-NEXT:    s_nop 0
3097 ; PRELOAD-8-NEXT:    s_nop 0
3098 ; PRELOAD-8-NEXT:    s_nop 0
3099 ; PRELOAD-8-NEXT:    s_nop 0
3100 ; PRELOAD-8-NEXT:    s_nop 0
3101 ; PRELOAD-8-NEXT:    s_nop 0
3102 ; PRELOAD-8-NEXT:    s_nop 0
3103 ; PRELOAD-8-NEXT:    s_nop 0
3104 ; PRELOAD-8-NEXT:    s_nop 0
3105 ; PRELOAD-8-NEXT:    s_nop 0
3106 ; PRELOAD-8-NEXT:    s_nop 0
3107 ; PRELOAD-8-NEXT:    s_nop 0
3108 ; PRELOAD-8-NEXT:    s_nop 0
3109 ; PRELOAD-8-NEXT:    s_nop 0
3110 ; PRELOAD-8-NEXT:    s_nop 0
3111 ; PRELOAD-8-NEXT:    s_nop 0
3112 ; PRELOAD-8-NEXT:    s_nop 0
3113 ; PRELOAD-8-NEXT:    s_nop 0
3114 ; PRELOAD-8-NEXT:    s_nop 0
3115 ; PRELOAD-8-NEXT:    s_nop 0
3116 ; PRELOAD-8-NEXT:    s_nop 0
3117 ; PRELOAD-8-NEXT:    s_nop 0
3118 ; PRELOAD-8-NEXT:    s_nop 0
3119 ; PRELOAD-8-NEXT:    s_nop 0
3120 ; PRELOAD-8-NEXT:    s_nop 0
3121 ; PRELOAD-8-NEXT:    s_nop 0
3122 ; PRELOAD-8-NEXT:    s_nop 0
3123 ; PRELOAD-8-NEXT:    s_nop 0
3124 ; PRELOAD-8-NEXT:    s_nop 0
3125 ; PRELOAD-8-NEXT:    s_nop 0
3126 ; PRELOAD-8-NEXT:    s_nop 0
3127 ; PRELOAD-8-NEXT:    s_nop 0
3128 ; PRELOAD-8-NEXT:    s_nop 0
3129 ; PRELOAD-8-NEXT:    s_nop 0
3130 ; PRELOAD-8-NEXT:    s_nop 0
3131 ; PRELOAD-8-NEXT:    s_nop 0
3132 ; PRELOAD-8-NEXT:    s_nop 0
3133 ; PRELOAD-8-NEXT:    s_nop 0
3134 ; PRELOAD-8-NEXT:    s_nop 0
3135 ; PRELOAD-8-NEXT:    s_nop 0
3136 ; PRELOAD-8-NEXT:    s_nop 0
3137 ; PRELOAD-8-NEXT:    s_nop 0
3138 ; PRELOAD-8-NEXT:    s_nop 0
3139 ; PRELOAD-8-NEXT:    s_nop 0
3140 ; PRELOAD-8-NEXT:    s_nop 0
3141 ; PRELOAD-8-NEXT:    s_nop 0
3142 ; PRELOAD-8-NEXT:    s_nop 0
3143 ; PRELOAD-8-NEXT:    s_nop 0
3144 ; PRELOAD-8-NEXT:    s_nop 0
3145 ; PRELOAD-8-NEXT:    s_nop 0
3146 ; PRELOAD-8-NEXT:    s_nop 0
3147 ; PRELOAD-8-NEXT:    s_nop 0
3148 ; PRELOAD-8-NEXT:    s_nop 0
3149 ; PRELOAD-8-NEXT:  ; %bb.0:
3150 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, 0
3151 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s5
3152 ; PRELOAD-8-NEXT:    global_store_short v0, v1, s[2:3] offset:4 sc0 sc1
3153 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s4
3154 ; PRELOAD-8-NEXT:    global_store_dword v0, v1, s[2:3] sc0 sc1
3155 ; PRELOAD-8-NEXT:    s_endpgm
3156   store <3 x i16> %in, ptr addrspace(1) %out, align 4
3157   ret void
3160 define amdgpu_kernel void @v3i32_preload_arg(ptr addrspace(1) nocapture %out, <3 x i32> %in) nounwind {
3161 ; NO-PRELOAD-LABEL: v3i32_preload_arg:
3162 ; NO-PRELOAD:       ; %bb.0:
3163 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[4:7], s[0:1], 0x10
3164 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
3165 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, 0
3166 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
3167 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s4
3168 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s5
3169 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s6
3170 ; NO-PRELOAD-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3171 ; NO-PRELOAD-NEXT:    s_endpgm
3173 ; PRELOAD-1-LABEL: v3i32_preload_arg:
3174 ; PRELOAD-1:         s_nop 0
3175 ; PRELOAD-1-NEXT:    s_nop 0
3176 ; PRELOAD-1-NEXT:    s_nop 0
3177 ; PRELOAD-1-NEXT:    s_nop 0
3178 ; PRELOAD-1-NEXT:    s_nop 0
3179 ; PRELOAD-1-NEXT:    s_nop 0
3180 ; PRELOAD-1-NEXT:    s_nop 0
3181 ; PRELOAD-1-NEXT:    s_nop 0
3182 ; PRELOAD-1-NEXT:    s_nop 0
3183 ; PRELOAD-1-NEXT:    s_nop 0
3184 ; PRELOAD-1-NEXT:    s_nop 0
3185 ; PRELOAD-1-NEXT:    s_nop 0
3186 ; PRELOAD-1-NEXT:    s_nop 0
3187 ; PRELOAD-1-NEXT:    s_nop 0
3188 ; PRELOAD-1-NEXT:    s_nop 0
3189 ; PRELOAD-1-NEXT:    s_nop 0
3190 ; PRELOAD-1-NEXT:    s_nop 0
3191 ; PRELOAD-1-NEXT:    s_nop 0
3192 ; PRELOAD-1-NEXT:    s_nop 0
3193 ; PRELOAD-1-NEXT:    s_nop 0
3194 ; PRELOAD-1-NEXT:    s_nop 0
3195 ; PRELOAD-1-NEXT:    s_nop 0
3196 ; PRELOAD-1-NEXT:    s_nop 0
3197 ; PRELOAD-1-NEXT:    s_nop 0
3198 ; PRELOAD-1-NEXT:    s_nop 0
3199 ; PRELOAD-1-NEXT:    s_nop 0
3200 ; PRELOAD-1-NEXT:    s_nop 0
3201 ; PRELOAD-1-NEXT:    s_nop 0
3202 ; PRELOAD-1-NEXT:    s_nop 0
3203 ; PRELOAD-1-NEXT:    s_nop 0
3204 ; PRELOAD-1-NEXT:    s_nop 0
3205 ; PRELOAD-1-NEXT:    s_nop 0
3206 ; PRELOAD-1-NEXT:    s_nop 0
3207 ; PRELOAD-1-NEXT:    s_nop 0
3208 ; PRELOAD-1-NEXT:    s_nop 0
3209 ; PRELOAD-1-NEXT:    s_nop 0
3210 ; PRELOAD-1-NEXT:    s_nop 0
3211 ; PRELOAD-1-NEXT:    s_nop 0
3212 ; PRELOAD-1-NEXT:    s_nop 0
3213 ; PRELOAD-1-NEXT:    s_nop 0
3214 ; PRELOAD-1-NEXT:    s_nop 0
3215 ; PRELOAD-1-NEXT:    s_nop 0
3216 ; PRELOAD-1-NEXT:    s_nop 0
3217 ; PRELOAD-1-NEXT:    s_nop 0
3218 ; PRELOAD-1-NEXT:    s_nop 0
3219 ; PRELOAD-1-NEXT:    s_nop 0
3220 ; PRELOAD-1-NEXT:    s_nop 0
3221 ; PRELOAD-1-NEXT:    s_nop 0
3222 ; PRELOAD-1-NEXT:    s_nop 0
3223 ; PRELOAD-1-NEXT:    s_nop 0
3224 ; PRELOAD-1-NEXT:    s_nop 0
3225 ; PRELOAD-1-NEXT:    s_nop 0
3226 ; PRELOAD-1-NEXT:    s_nop 0
3227 ; PRELOAD-1-NEXT:    s_nop 0
3228 ; PRELOAD-1-NEXT:    s_nop 0
3229 ; PRELOAD-1-NEXT:    s_nop 0
3230 ; PRELOAD-1-NEXT:    s_nop 0
3231 ; PRELOAD-1-NEXT:    s_nop 0
3232 ; PRELOAD-1-NEXT:    s_nop 0
3233 ; PRELOAD-1-NEXT:    s_nop 0
3234 ; PRELOAD-1-NEXT:    s_nop 0
3235 ; PRELOAD-1-NEXT:    s_nop 0
3236 ; PRELOAD-1-NEXT:    s_nop 0
3237 ; PRELOAD-1-NEXT:    s_nop 0
3238 ; PRELOAD-1-NEXT:  ; %bb.0:
3239 ; PRELOAD-1-NEXT:    s_load_dwordx4 s[4:7], s[0:1], 0x10
3240 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, 0
3241 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
3242 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s4
3243 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s5
3244 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s6
3245 ; PRELOAD-1-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3246 ; PRELOAD-1-NEXT:    s_endpgm
3248 ; PRELOAD-2-LABEL: v3i32_preload_arg:
3249 ; PRELOAD-2:         s_nop 0
3250 ; PRELOAD-2-NEXT:    s_nop 0
3251 ; PRELOAD-2-NEXT:    s_nop 0
3252 ; PRELOAD-2-NEXT:    s_nop 0
3253 ; PRELOAD-2-NEXT:    s_nop 0
3254 ; PRELOAD-2-NEXT:    s_nop 0
3255 ; PRELOAD-2-NEXT:    s_nop 0
3256 ; PRELOAD-2-NEXT:    s_nop 0
3257 ; PRELOAD-2-NEXT:    s_nop 0
3258 ; PRELOAD-2-NEXT:    s_nop 0
3259 ; PRELOAD-2-NEXT:    s_nop 0
3260 ; PRELOAD-2-NEXT:    s_nop 0
3261 ; PRELOAD-2-NEXT:    s_nop 0
3262 ; PRELOAD-2-NEXT:    s_nop 0
3263 ; PRELOAD-2-NEXT:    s_nop 0
3264 ; PRELOAD-2-NEXT:    s_nop 0
3265 ; PRELOAD-2-NEXT:    s_nop 0
3266 ; PRELOAD-2-NEXT:    s_nop 0
3267 ; PRELOAD-2-NEXT:    s_nop 0
3268 ; PRELOAD-2-NEXT:    s_nop 0
3269 ; PRELOAD-2-NEXT:    s_nop 0
3270 ; PRELOAD-2-NEXT:    s_nop 0
3271 ; PRELOAD-2-NEXT:    s_nop 0
3272 ; PRELOAD-2-NEXT:    s_nop 0
3273 ; PRELOAD-2-NEXT:    s_nop 0
3274 ; PRELOAD-2-NEXT:    s_nop 0
3275 ; PRELOAD-2-NEXT:    s_nop 0
3276 ; PRELOAD-2-NEXT:    s_nop 0
3277 ; PRELOAD-2-NEXT:    s_nop 0
3278 ; PRELOAD-2-NEXT:    s_nop 0
3279 ; PRELOAD-2-NEXT:    s_nop 0
3280 ; PRELOAD-2-NEXT:    s_nop 0
3281 ; PRELOAD-2-NEXT:    s_nop 0
3282 ; PRELOAD-2-NEXT:    s_nop 0
3283 ; PRELOAD-2-NEXT:    s_nop 0
3284 ; PRELOAD-2-NEXT:    s_nop 0
3285 ; PRELOAD-2-NEXT:    s_nop 0
3286 ; PRELOAD-2-NEXT:    s_nop 0
3287 ; PRELOAD-2-NEXT:    s_nop 0
3288 ; PRELOAD-2-NEXT:    s_nop 0
3289 ; PRELOAD-2-NEXT:    s_nop 0
3290 ; PRELOAD-2-NEXT:    s_nop 0
3291 ; PRELOAD-2-NEXT:    s_nop 0
3292 ; PRELOAD-2-NEXT:    s_nop 0
3293 ; PRELOAD-2-NEXT:    s_nop 0
3294 ; PRELOAD-2-NEXT:    s_nop 0
3295 ; PRELOAD-2-NEXT:    s_nop 0
3296 ; PRELOAD-2-NEXT:    s_nop 0
3297 ; PRELOAD-2-NEXT:    s_nop 0
3298 ; PRELOAD-2-NEXT:    s_nop 0
3299 ; PRELOAD-2-NEXT:    s_nop 0
3300 ; PRELOAD-2-NEXT:    s_nop 0
3301 ; PRELOAD-2-NEXT:    s_nop 0
3302 ; PRELOAD-2-NEXT:    s_nop 0
3303 ; PRELOAD-2-NEXT:    s_nop 0
3304 ; PRELOAD-2-NEXT:    s_nop 0
3305 ; PRELOAD-2-NEXT:    s_nop 0
3306 ; PRELOAD-2-NEXT:    s_nop 0
3307 ; PRELOAD-2-NEXT:    s_nop 0
3308 ; PRELOAD-2-NEXT:    s_nop 0
3309 ; PRELOAD-2-NEXT:    s_nop 0
3310 ; PRELOAD-2-NEXT:    s_nop 0
3311 ; PRELOAD-2-NEXT:    s_nop 0
3312 ; PRELOAD-2-NEXT:    s_nop 0
3313 ; PRELOAD-2-NEXT:  ; %bb.0:
3314 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s6
3315 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s7
3316 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s8
3317 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, 0
3318 ; PRELOAD-2-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3319 ; PRELOAD-2-NEXT:    s_endpgm
3321 ; PRELOAD-4-LABEL: v3i32_preload_arg:
3322 ; PRELOAD-4:         s_nop 0
3323 ; PRELOAD-4-NEXT:    s_nop 0
3324 ; PRELOAD-4-NEXT:    s_nop 0
3325 ; PRELOAD-4-NEXT:    s_nop 0
3326 ; PRELOAD-4-NEXT:    s_nop 0
3327 ; PRELOAD-4-NEXT:    s_nop 0
3328 ; PRELOAD-4-NEXT:    s_nop 0
3329 ; PRELOAD-4-NEXT:    s_nop 0
3330 ; PRELOAD-4-NEXT:    s_nop 0
3331 ; PRELOAD-4-NEXT:    s_nop 0
3332 ; PRELOAD-4-NEXT:    s_nop 0
3333 ; PRELOAD-4-NEXT:    s_nop 0
3334 ; PRELOAD-4-NEXT:    s_nop 0
3335 ; PRELOAD-4-NEXT:    s_nop 0
3336 ; PRELOAD-4-NEXT:    s_nop 0
3337 ; PRELOAD-4-NEXT:    s_nop 0
3338 ; PRELOAD-4-NEXT:    s_nop 0
3339 ; PRELOAD-4-NEXT:    s_nop 0
3340 ; PRELOAD-4-NEXT:    s_nop 0
3341 ; PRELOAD-4-NEXT:    s_nop 0
3342 ; PRELOAD-4-NEXT:    s_nop 0
3343 ; PRELOAD-4-NEXT:    s_nop 0
3344 ; PRELOAD-4-NEXT:    s_nop 0
3345 ; PRELOAD-4-NEXT:    s_nop 0
3346 ; PRELOAD-4-NEXT:    s_nop 0
3347 ; PRELOAD-4-NEXT:    s_nop 0
3348 ; PRELOAD-4-NEXT:    s_nop 0
3349 ; PRELOAD-4-NEXT:    s_nop 0
3350 ; PRELOAD-4-NEXT:    s_nop 0
3351 ; PRELOAD-4-NEXT:    s_nop 0
3352 ; PRELOAD-4-NEXT:    s_nop 0
3353 ; PRELOAD-4-NEXT:    s_nop 0
3354 ; PRELOAD-4-NEXT:    s_nop 0
3355 ; PRELOAD-4-NEXT:    s_nop 0
3356 ; PRELOAD-4-NEXT:    s_nop 0
3357 ; PRELOAD-4-NEXT:    s_nop 0
3358 ; PRELOAD-4-NEXT:    s_nop 0
3359 ; PRELOAD-4-NEXT:    s_nop 0
3360 ; PRELOAD-4-NEXT:    s_nop 0
3361 ; PRELOAD-4-NEXT:    s_nop 0
3362 ; PRELOAD-4-NEXT:    s_nop 0
3363 ; PRELOAD-4-NEXT:    s_nop 0
3364 ; PRELOAD-4-NEXT:    s_nop 0
3365 ; PRELOAD-4-NEXT:    s_nop 0
3366 ; PRELOAD-4-NEXT:    s_nop 0
3367 ; PRELOAD-4-NEXT:    s_nop 0
3368 ; PRELOAD-4-NEXT:    s_nop 0
3369 ; PRELOAD-4-NEXT:    s_nop 0
3370 ; PRELOAD-4-NEXT:    s_nop 0
3371 ; PRELOAD-4-NEXT:    s_nop 0
3372 ; PRELOAD-4-NEXT:    s_nop 0
3373 ; PRELOAD-4-NEXT:    s_nop 0
3374 ; PRELOAD-4-NEXT:    s_nop 0
3375 ; PRELOAD-4-NEXT:    s_nop 0
3376 ; PRELOAD-4-NEXT:    s_nop 0
3377 ; PRELOAD-4-NEXT:    s_nop 0
3378 ; PRELOAD-4-NEXT:    s_nop 0
3379 ; PRELOAD-4-NEXT:    s_nop 0
3380 ; PRELOAD-4-NEXT:    s_nop 0
3381 ; PRELOAD-4-NEXT:    s_nop 0
3382 ; PRELOAD-4-NEXT:    s_nop 0
3383 ; PRELOAD-4-NEXT:    s_nop 0
3384 ; PRELOAD-4-NEXT:    s_nop 0
3385 ; PRELOAD-4-NEXT:    s_nop 0
3386 ; PRELOAD-4-NEXT:  ; %bb.0:
3387 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s6
3388 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s7
3389 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s8
3390 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, 0
3391 ; PRELOAD-4-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3392 ; PRELOAD-4-NEXT:    s_endpgm
3394 ; PRELOAD-8-LABEL: v3i32_preload_arg:
3395 ; PRELOAD-8:         s_nop 0
3396 ; PRELOAD-8-NEXT:    s_nop 0
3397 ; PRELOAD-8-NEXT:    s_nop 0
3398 ; PRELOAD-8-NEXT:    s_nop 0
3399 ; PRELOAD-8-NEXT:    s_nop 0
3400 ; PRELOAD-8-NEXT:    s_nop 0
3401 ; PRELOAD-8-NEXT:    s_nop 0
3402 ; PRELOAD-8-NEXT:    s_nop 0
3403 ; PRELOAD-8-NEXT:    s_nop 0
3404 ; PRELOAD-8-NEXT:    s_nop 0
3405 ; PRELOAD-8-NEXT:    s_nop 0
3406 ; PRELOAD-8-NEXT:    s_nop 0
3407 ; PRELOAD-8-NEXT:    s_nop 0
3408 ; PRELOAD-8-NEXT:    s_nop 0
3409 ; PRELOAD-8-NEXT:    s_nop 0
3410 ; PRELOAD-8-NEXT:    s_nop 0
3411 ; PRELOAD-8-NEXT:    s_nop 0
3412 ; PRELOAD-8-NEXT:    s_nop 0
3413 ; PRELOAD-8-NEXT:    s_nop 0
3414 ; PRELOAD-8-NEXT:    s_nop 0
3415 ; PRELOAD-8-NEXT:    s_nop 0
3416 ; PRELOAD-8-NEXT:    s_nop 0
3417 ; PRELOAD-8-NEXT:    s_nop 0
3418 ; PRELOAD-8-NEXT:    s_nop 0
3419 ; PRELOAD-8-NEXT:    s_nop 0
3420 ; PRELOAD-8-NEXT:    s_nop 0
3421 ; PRELOAD-8-NEXT:    s_nop 0
3422 ; PRELOAD-8-NEXT:    s_nop 0
3423 ; PRELOAD-8-NEXT:    s_nop 0
3424 ; PRELOAD-8-NEXT:    s_nop 0
3425 ; PRELOAD-8-NEXT:    s_nop 0
3426 ; PRELOAD-8-NEXT:    s_nop 0
3427 ; PRELOAD-8-NEXT:    s_nop 0
3428 ; PRELOAD-8-NEXT:    s_nop 0
3429 ; PRELOAD-8-NEXT:    s_nop 0
3430 ; PRELOAD-8-NEXT:    s_nop 0
3431 ; PRELOAD-8-NEXT:    s_nop 0
3432 ; PRELOAD-8-NEXT:    s_nop 0
3433 ; PRELOAD-8-NEXT:    s_nop 0
3434 ; PRELOAD-8-NEXT:    s_nop 0
3435 ; PRELOAD-8-NEXT:    s_nop 0
3436 ; PRELOAD-8-NEXT:    s_nop 0
3437 ; PRELOAD-8-NEXT:    s_nop 0
3438 ; PRELOAD-8-NEXT:    s_nop 0
3439 ; PRELOAD-8-NEXT:    s_nop 0
3440 ; PRELOAD-8-NEXT:    s_nop 0
3441 ; PRELOAD-8-NEXT:    s_nop 0
3442 ; PRELOAD-8-NEXT:    s_nop 0
3443 ; PRELOAD-8-NEXT:    s_nop 0
3444 ; PRELOAD-8-NEXT:    s_nop 0
3445 ; PRELOAD-8-NEXT:    s_nop 0
3446 ; PRELOAD-8-NEXT:    s_nop 0
3447 ; PRELOAD-8-NEXT:    s_nop 0
3448 ; PRELOAD-8-NEXT:    s_nop 0
3449 ; PRELOAD-8-NEXT:    s_nop 0
3450 ; PRELOAD-8-NEXT:    s_nop 0
3451 ; PRELOAD-8-NEXT:    s_nop 0
3452 ; PRELOAD-8-NEXT:    s_nop 0
3453 ; PRELOAD-8-NEXT:    s_nop 0
3454 ; PRELOAD-8-NEXT:    s_nop 0
3455 ; PRELOAD-8-NEXT:    s_nop 0
3456 ; PRELOAD-8-NEXT:    s_nop 0
3457 ; PRELOAD-8-NEXT:    s_nop 0
3458 ; PRELOAD-8-NEXT:    s_nop 0
3459 ; PRELOAD-8-NEXT:  ; %bb.0:
3460 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s6
3461 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s7
3462 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s8
3463 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, 0
3464 ; PRELOAD-8-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3465 ; PRELOAD-8-NEXT:    s_endpgm
3466   store <3 x i32> %in, ptr addrspace(1) %out, align 4
3467   ret void
3470 define amdgpu_kernel void @v3f32_preload_arg(ptr addrspace(1) nocapture %out, <3 x float> %in) nounwind {
3471 ; NO-PRELOAD-LABEL: v3f32_preload_arg:
3472 ; NO-PRELOAD:       ; %bb.0:
3473 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[4:7], s[0:1], 0x10
3474 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x0
3475 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, 0
3476 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
3477 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s4
3478 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s5
3479 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s6
3480 ; NO-PRELOAD-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3481 ; NO-PRELOAD-NEXT:    s_endpgm
3483 ; PRELOAD-1-LABEL: v3f32_preload_arg:
3484 ; PRELOAD-1:         s_nop 0
3485 ; PRELOAD-1-NEXT:    s_nop 0
3486 ; PRELOAD-1-NEXT:    s_nop 0
3487 ; PRELOAD-1-NEXT:    s_nop 0
3488 ; PRELOAD-1-NEXT:    s_nop 0
3489 ; PRELOAD-1-NEXT:    s_nop 0
3490 ; PRELOAD-1-NEXT:    s_nop 0
3491 ; PRELOAD-1-NEXT:    s_nop 0
3492 ; PRELOAD-1-NEXT:    s_nop 0
3493 ; PRELOAD-1-NEXT:    s_nop 0
3494 ; PRELOAD-1-NEXT:    s_nop 0
3495 ; PRELOAD-1-NEXT:    s_nop 0
3496 ; PRELOAD-1-NEXT:    s_nop 0
3497 ; PRELOAD-1-NEXT:    s_nop 0
3498 ; PRELOAD-1-NEXT:    s_nop 0
3499 ; PRELOAD-1-NEXT:    s_nop 0
3500 ; PRELOAD-1-NEXT:    s_nop 0
3501 ; PRELOAD-1-NEXT:    s_nop 0
3502 ; PRELOAD-1-NEXT:    s_nop 0
3503 ; PRELOAD-1-NEXT:    s_nop 0
3504 ; PRELOAD-1-NEXT:    s_nop 0
3505 ; PRELOAD-1-NEXT:    s_nop 0
3506 ; PRELOAD-1-NEXT:    s_nop 0
3507 ; PRELOAD-1-NEXT:    s_nop 0
3508 ; PRELOAD-1-NEXT:    s_nop 0
3509 ; PRELOAD-1-NEXT:    s_nop 0
3510 ; PRELOAD-1-NEXT:    s_nop 0
3511 ; PRELOAD-1-NEXT:    s_nop 0
3512 ; PRELOAD-1-NEXT:    s_nop 0
3513 ; PRELOAD-1-NEXT:    s_nop 0
3514 ; PRELOAD-1-NEXT:    s_nop 0
3515 ; PRELOAD-1-NEXT:    s_nop 0
3516 ; PRELOAD-1-NEXT:    s_nop 0
3517 ; PRELOAD-1-NEXT:    s_nop 0
3518 ; PRELOAD-1-NEXT:    s_nop 0
3519 ; PRELOAD-1-NEXT:    s_nop 0
3520 ; PRELOAD-1-NEXT:    s_nop 0
3521 ; PRELOAD-1-NEXT:    s_nop 0
3522 ; PRELOAD-1-NEXT:    s_nop 0
3523 ; PRELOAD-1-NEXT:    s_nop 0
3524 ; PRELOAD-1-NEXT:    s_nop 0
3525 ; PRELOAD-1-NEXT:    s_nop 0
3526 ; PRELOAD-1-NEXT:    s_nop 0
3527 ; PRELOAD-1-NEXT:    s_nop 0
3528 ; PRELOAD-1-NEXT:    s_nop 0
3529 ; PRELOAD-1-NEXT:    s_nop 0
3530 ; PRELOAD-1-NEXT:    s_nop 0
3531 ; PRELOAD-1-NEXT:    s_nop 0
3532 ; PRELOAD-1-NEXT:    s_nop 0
3533 ; PRELOAD-1-NEXT:    s_nop 0
3534 ; PRELOAD-1-NEXT:    s_nop 0
3535 ; PRELOAD-1-NEXT:    s_nop 0
3536 ; PRELOAD-1-NEXT:    s_nop 0
3537 ; PRELOAD-1-NEXT:    s_nop 0
3538 ; PRELOAD-1-NEXT:    s_nop 0
3539 ; PRELOAD-1-NEXT:    s_nop 0
3540 ; PRELOAD-1-NEXT:    s_nop 0
3541 ; PRELOAD-1-NEXT:    s_nop 0
3542 ; PRELOAD-1-NEXT:    s_nop 0
3543 ; PRELOAD-1-NEXT:    s_nop 0
3544 ; PRELOAD-1-NEXT:    s_nop 0
3545 ; PRELOAD-1-NEXT:    s_nop 0
3546 ; PRELOAD-1-NEXT:    s_nop 0
3547 ; PRELOAD-1-NEXT:    s_nop 0
3548 ; PRELOAD-1-NEXT:  ; %bb.0:
3549 ; PRELOAD-1-NEXT:    s_load_dwordx4 s[4:7], s[0:1], 0x10
3550 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, 0
3551 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
3552 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s4
3553 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s5
3554 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s6
3555 ; PRELOAD-1-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3556 ; PRELOAD-1-NEXT:    s_endpgm
3558 ; PRELOAD-2-LABEL: v3f32_preload_arg:
3559 ; PRELOAD-2:         s_nop 0
3560 ; PRELOAD-2-NEXT:    s_nop 0
3561 ; PRELOAD-2-NEXT:    s_nop 0
3562 ; PRELOAD-2-NEXT:    s_nop 0
3563 ; PRELOAD-2-NEXT:    s_nop 0
3564 ; PRELOAD-2-NEXT:    s_nop 0
3565 ; PRELOAD-2-NEXT:    s_nop 0
3566 ; PRELOAD-2-NEXT:    s_nop 0
3567 ; PRELOAD-2-NEXT:    s_nop 0
3568 ; PRELOAD-2-NEXT:    s_nop 0
3569 ; PRELOAD-2-NEXT:    s_nop 0
3570 ; PRELOAD-2-NEXT:    s_nop 0
3571 ; PRELOAD-2-NEXT:    s_nop 0
3572 ; PRELOAD-2-NEXT:    s_nop 0
3573 ; PRELOAD-2-NEXT:    s_nop 0
3574 ; PRELOAD-2-NEXT:    s_nop 0
3575 ; PRELOAD-2-NEXT:    s_nop 0
3576 ; PRELOAD-2-NEXT:    s_nop 0
3577 ; PRELOAD-2-NEXT:    s_nop 0
3578 ; PRELOAD-2-NEXT:    s_nop 0
3579 ; PRELOAD-2-NEXT:    s_nop 0
3580 ; PRELOAD-2-NEXT:    s_nop 0
3581 ; PRELOAD-2-NEXT:    s_nop 0
3582 ; PRELOAD-2-NEXT:    s_nop 0
3583 ; PRELOAD-2-NEXT:    s_nop 0
3584 ; PRELOAD-2-NEXT:    s_nop 0
3585 ; PRELOAD-2-NEXT:    s_nop 0
3586 ; PRELOAD-2-NEXT:    s_nop 0
3587 ; PRELOAD-2-NEXT:    s_nop 0
3588 ; PRELOAD-2-NEXT:    s_nop 0
3589 ; PRELOAD-2-NEXT:    s_nop 0
3590 ; PRELOAD-2-NEXT:    s_nop 0
3591 ; PRELOAD-2-NEXT:    s_nop 0
3592 ; PRELOAD-2-NEXT:    s_nop 0
3593 ; PRELOAD-2-NEXT:    s_nop 0
3594 ; PRELOAD-2-NEXT:    s_nop 0
3595 ; PRELOAD-2-NEXT:    s_nop 0
3596 ; PRELOAD-2-NEXT:    s_nop 0
3597 ; PRELOAD-2-NEXT:    s_nop 0
3598 ; PRELOAD-2-NEXT:    s_nop 0
3599 ; PRELOAD-2-NEXT:    s_nop 0
3600 ; PRELOAD-2-NEXT:    s_nop 0
3601 ; PRELOAD-2-NEXT:    s_nop 0
3602 ; PRELOAD-2-NEXT:    s_nop 0
3603 ; PRELOAD-2-NEXT:    s_nop 0
3604 ; PRELOAD-2-NEXT:    s_nop 0
3605 ; PRELOAD-2-NEXT:    s_nop 0
3606 ; PRELOAD-2-NEXT:    s_nop 0
3607 ; PRELOAD-2-NEXT:    s_nop 0
3608 ; PRELOAD-2-NEXT:    s_nop 0
3609 ; PRELOAD-2-NEXT:    s_nop 0
3610 ; PRELOAD-2-NEXT:    s_nop 0
3611 ; PRELOAD-2-NEXT:    s_nop 0
3612 ; PRELOAD-2-NEXT:    s_nop 0
3613 ; PRELOAD-2-NEXT:    s_nop 0
3614 ; PRELOAD-2-NEXT:    s_nop 0
3615 ; PRELOAD-2-NEXT:    s_nop 0
3616 ; PRELOAD-2-NEXT:    s_nop 0
3617 ; PRELOAD-2-NEXT:    s_nop 0
3618 ; PRELOAD-2-NEXT:    s_nop 0
3619 ; PRELOAD-2-NEXT:    s_nop 0
3620 ; PRELOAD-2-NEXT:    s_nop 0
3621 ; PRELOAD-2-NEXT:    s_nop 0
3622 ; PRELOAD-2-NEXT:    s_nop 0
3623 ; PRELOAD-2-NEXT:  ; %bb.0:
3624 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, 0
3625 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s6
3626 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s7
3627 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s8
3628 ; PRELOAD-2-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3629 ; PRELOAD-2-NEXT:    s_endpgm
3631 ; PRELOAD-4-LABEL: v3f32_preload_arg:
3632 ; PRELOAD-4:         s_nop 0
3633 ; PRELOAD-4-NEXT:    s_nop 0
3634 ; PRELOAD-4-NEXT:    s_nop 0
3635 ; PRELOAD-4-NEXT:    s_nop 0
3636 ; PRELOAD-4-NEXT:    s_nop 0
3637 ; PRELOAD-4-NEXT:    s_nop 0
3638 ; PRELOAD-4-NEXT:    s_nop 0
3639 ; PRELOAD-4-NEXT:    s_nop 0
3640 ; PRELOAD-4-NEXT:    s_nop 0
3641 ; PRELOAD-4-NEXT:    s_nop 0
3642 ; PRELOAD-4-NEXT:    s_nop 0
3643 ; PRELOAD-4-NEXT:    s_nop 0
3644 ; PRELOAD-4-NEXT:    s_nop 0
3645 ; PRELOAD-4-NEXT:    s_nop 0
3646 ; PRELOAD-4-NEXT:    s_nop 0
3647 ; PRELOAD-4-NEXT:    s_nop 0
3648 ; PRELOAD-4-NEXT:    s_nop 0
3649 ; PRELOAD-4-NEXT:    s_nop 0
3650 ; PRELOAD-4-NEXT:    s_nop 0
3651 ; PRELOAD-4-NEXT:    s_nop 0
3652 ; PRELOAD-4-NEXT:    s_nop 0
3653 ; PRELOAD-4-NEXT:    s_nop 0
3654 ; PRELOAD-4-NEXT:    s_nop 0
3655 ; PRELOAD-4-NEXT:    s_nop 0
3656 ; PRELOAD-4-NEXT:    s_nop 0
3657 ; PRELOAD-4-NEXT:    s_nop 0
3658 ; PRELOAD-4-NEXT:    s_nop 0
3659 ; PRELOAD-4-NEXT:    s_nop 0
3660 ; PRELOAD-4-NEXT:    s_nop 0
3661 ; PRELOAD-4-NEXT:    s_nop 0
3662 ; PRELOAD-4-NEXT:    s_nop 0
3663 ; PRELOAD-4-NEXT:    s_nop 0
3664 ; PRELOAD-4-NEXT:    s_nop 0
3665 ; PRELOAD-4-NEXT:    s_nop 0
3666 ; PRELOAD-4-NEXT:    s_nop 0
3667 ; PRELOAD-4-NEXT:    s_nop 0
3668 ; PRELOAD-4-NEXT:    s_nop 0
3669 ; PRELOAD-4-NEXT:    s_nop 0
3670 ; PRELOAD-4-NEXT:    s_nop 0
3671 ; PRELOAD-4-NEXT:    s_nop 0
3672 ; PRELOAD-4-NEXT:    s_nop 0
3673 ; PRELOAD-4-NEXT:    s_nop 0
3674 ; PRELOAD-4-NEXT:    s_nop 0
3675 ; PRELOAD-4-NEXT:    s_nop 0
3676 ; PRELOAD-4-NEXT:    s_nop 0
3677 ; PRELOAD-4-NEXT:    s_nop 0
3678 ; PRELOAD-4-NEXT:    s_nop 0
3679 ; PRELOAD-4-NEXT:    s_nop 0
3680 ; PRELOAD-4-NEXT:    s_nop 0
3681 ; PRELOAD-4-NEXT:    s_nop 0
3682 ; PRELOAD-4-NEXT:    s_nop 0
3683 ; PRELOAD-4-NEXT:    s_nop 0
3684 ; PRELOAD-4-NEXT:    s_nop 0
3685 ; PRELOAD-4-NEXT:    s_nop 0
3686 ; PRELOAD-4-NEXT:    s_nop 0
3687 ; PRELOAD-4-NEXT:    s_nop 0
3688 ; PRELOAD-4-NEXT:    s_nop 0
3689 ; PRELOAD-4-NEXT:    s_nop 0
3690 ; PRELOAD-4-NEXT:    s_nop 0
3691 ; PRELOAD-4-NEXT:    s_nop 0
3692 ; PRELOAD-4-NEXT:    s_nop 0
3693 ; PRELOAD-4-NEXT:    s_nop 0
3694 ; PRELOAD-4-NEXT:    s_nop 0
3695 ; PRELOAD-4-NEXT:    s_nop 0
3696 ; PRELOAD-4-NEXT:  ; %bb.0:
3697 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, 0
3698 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s6
3699 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s7
3700 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s8
3701 ; PRELOAD-4-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3702 ; PRELOAD-4-NEXT:    s_endpgm
3704 ; PRELOAD-8-LABEL: v3f32_preload_arg:
3705 ; PRELOAD-8:         s_nop 0
3706 ; PRELOAD-8-NEXT:    s_nop 0
3707 ; PRELOAD-8-NEXT:    s_nop 0
3708 ; PRELOAD-8-NEXT:    s_nop 0
3709 ; PRELOAD-8-NEXT:    s_nop 0
3710 ; PRELOAD-8-NEXT:    s_nop 0
3711 ; PRELOAD-8-NEXT:    s_nop 0
3712 ; PRELOAD-8-NEXT:    s_nop 0
3713 ; PRELOAD-8-NEXT:    s_nop 0
3714 ; PRELOAD-8-NEXT:    s_nop 0
3715 ; PRELOAD-8-NEXT:    s_nop 0
3716 ; PRELOAD-8-NEXT:    s_nop 0
3717 ; PRELOAD-8-NEXT:    s_nop 0
3718 ; PRELOAD-8-NEXT:    s_nop 0
3719 ; PRELOAD-8-NEXT:    s_nop 0
3720 ; PRELOAD-8-NEXT:    s_nop 0
3721 ; PRELOAD-8-NEXT:    s_nop 0
3722 ; PRELOAD-8-NEXT:    s_nop 0
3723 ; PRELOAD-8-NEXT:    s_nop 0
3724 ; PRELOAD-8-NEXT:    s_nop 0
3725 ; PRELOAD-8-NEXT:    s_nop 0
3726 ; PRELOAD-8-NEXT:    s_nop 0
3727 ; PRELOAD-8-NEXT:    s_nop 0
3728 ; PRELOAD-8-NEXT:    s_nop 0
3729 ; PRELOAD-8-NEXT:    s_nop 0
3730 ; PRELOAD-8-NEXT:    s_nop 0
3731 ; PRELOAD-8-NEXT:    s_nop 0
3732 ; PRELOAD-8-NEXT:    s_nop 0
3733 ; PRELOAD-8-NEXT:    s_nop 0
3734 ; PRELOAD-8-NEXT:    s_nop 0
3735 ; PRELOAD-8-NEXT:    s_nop 0
3736 ; PRELOAD-8-NEXT:    s_nop 0
3737 ; PRELOAD-8-NEXT:    s_nop 0
3738 ; PRELOAD-8-NEXT:    s_nop 0
3739 ; PRELOAD-8-NEXT:    s_nop 0
3740 ; PRELOAD-8-NEXT:    s_nop 0
3741 ; PRELOAD-8-NEXT:    s_nop 0
3742 ; PRELOAD-8-NEXT:    s_nop 0
3743 ; PRELOAD-8-NEXT:    s_nop 0
3744 ; PRELOAD-8-NEXT:    s_nop 0
3745 ; PRELOAD-8-NEXT:    s_nop 0
3746 ; PRELOAD-8-NEXT:    s_nop 0
3747 ; PRELOAD-8-NEXT:    s_nop 0
3748 ; PRELOAD-8-NEXT:    s_nop 0
3749 ; PRELOAD-8-NEXT:    s_nop 0
3750 ; PRELOAD-8-NEXT:    s_nop 0
3751 ; PRELOAD-8-NEXT:    s_nop 0
3752 ; PRELOAD-8-NEXT:    s_nop 0
3753 ; PRELOAD-8-NEXT:    s_nop 0
3754 ; PRELOAD-8-NEXT:    s_nop 0
3755 ; PRELOAD-8-NEXT:    s_nop 0
3756 ; PRELOAD-8-NEXT:    s_nop 0
3757 ; PRELOAD-8-NEXT:    s_nop 0
3758 ; PRELOAD-8-NEXT:    s_nop 0
3759 ; PRELOAD-8-NEXT:    s_nop 0
3760 ; PRELOAD-8-NEXT:    s_nop 0
3761 ; PRELOAD-8-NEXT:    s_nop 0
3762 ; PRELOAD-8-NEXT:    s_nop 0
3763 ; PRELOAD-8-NEXT:    s_nop 0
3764 ; PRELOAD-8-NEXT:    s_nop 0
3765 ; PRELOAD-8-NEXT:    s_nop 0
3766 ; PRELOAD-8-NEXT:    s_nop 0
3767 ; PRELOAD-8-NEXT:    s_nop 0
3768 ; PRELOAD-8-NEXT:    s_nop 0
3769 ; PRELOAD-8-NEXT:  ; %bb.0:
3770 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, 0
3771 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s6
3772 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s7
3773 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s8
3774 ; PRELOAD-8-NEXT:    global_store_dwordx3 v3, v[0:2], s[2:3] sc0 sc1
3775 ; PRELOAD-8-NEXT:    s_endpgm
3776   store <3 x float> %in, ptr addrspace(1) %out, align 4
3777   ret void
3780 define amdgpu_kernel void @v5i8_preload_arg(ptr addrspace(1) nocapture %out, <5 x i8> %in) nounwind {
3781 ; NO-PRELOAD-LABEL: v5i8_preload_arg:
3782 ; NO-PRELOAD:       ; %bb.0:
3783 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[0:3], s[0:1], 0x0
3784 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, 0
3785 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
3786 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s3
3787 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s2
3788 ; NO-PRELOAD-NEXT:    global_store_byte v0, v1, s[0:1] offset:4 sc0 sc1
3789 ; NO-PRELOAD-NEXT:    global_store_dword v0, v2, s[0:1] sc0 sc1
3790 ; NO-PRELOAD-NEXT:    s_endpgm
3792 ; PRELOAD-1-LABEL: v5i8_preload_arg:
3793 ; PRELOAD-1:         s_nop 0
3794 ; PRELOAD-1-NEXT:    s_nop 0
3795 ; PRELOAD-1-NEXT:    s_nop 0
3796 ; PRELOAD-1-NEXT:    s_nop 0
3797 ; PRELOAD-1-NEXT:    s_nop 0
3798 ; PRELOAD-1-NEXT:    s_nop 0
3799 ; PRELOAD-1-NEXT:    s_nop 0
3800 ; PRELOAD-1-NEXT:    s_nop 0
3801 ; PRELOAD-1-NEXT:    s_nop 0
3802 ; PRELOAD-1-NEXT:    s_nop 0
3803 ; PRELOAD-1-NEXT:    s_nop 0
3804 ; PRELOAD-1-NEXT:    s_nop 0
3805 ; PRELOAD-1-NEXT:    s_nop 0
3806 ; PRELOAD-1-NEXT:    s_nop 0
3807 ; PRELOAD-1-NEXT:    s_nop 0
3808 ; PRELOAD-1-NEXT:    s_nop 0
3809 ; PRELOAD-1-NEXT:    s_nop 0
3810 ; PRELOAD-1-NEXT:    s_nop 0
3811 ; PRELOAD-1-NEXT:    s_nop 0
3812 ; PRELOAD-1-NEXT:    s_nop 0
3813 ; PRELOAD-1-NEXT:    s_nop 0
3814 ; PRELOAD-1-NEXT:    s_nop 0
3815 ; PRELOAD-1-NEXT:    s_nop 0
3816 ; PRELOAD-1-NEXT:    s_nop 0
3817 ; PRELOAD-1-NEXT:    s_nop 0
3818 ; PRELOAD-1-NEXT:    s_nop 0
3819 ; PRELOAD-1-NEXT:    s_nop 0
3820 ; PRELOAD-1-NEXT:    s_nop 0
3821 ; PRELOAD-1-NEXT:    s_nop 0
3822 ; PRELOAD-1-NEXT:    s_nop 0
3823 ; PRELOAD-1-NEXT:    s_nop 0
3824 ; PRELOAD-1-NEXT:    s_nop 0
3825 ; PRELOAD-1-NEXT:    s_nop 0
3826 ; PRELOAD-1-NEXT:    s_nop 0
3827 ; PRELOAD-1-NEXT:    s_nop 0
3828 ; PRELOAD-1-NEXT:    s_nop 0
3829 ; PRELOAD-1-NEXT:    s_nop 0
3830 ; PRELOAD-1-NEXT:    s_nop 0
3831 ; PRELOAD-1-NEXT:    s_nop 0
3832 ; PRELOAD-1-NEXT:    s_nop 0
3833 ; PRELOAD-1-NEXT:    s_nop 0
3834 ; PRELOAD-1-NEXT:    s_nop 0
3835 ; PRELOAD-1-NEXT:    s_nop 0
3836 ; PRELOAD-1-NEXT:    s_nop 0
3837 ; PRELOAD-1-NEXT:    s_nop 0
3838 ; PRELOAD-1-NEXT:    s_nop 0
3839 ; PRELOAD-1-NEXT:    s_nop 0
3840 ; PRELOAD-1-NEXT:    s_nop 0
3841 ; PRELOAD-1-NEXT:    s_nop 0
3842 ; PRELOAD-1-NEXT:    s_nop 0
3843 ; PRELOAD-1-NEXT:    s_nop 0
3844 ; PRELOAD-1-NEXT:    s_nop 0
3845 ; PRELOAD-1-NEXT:    s_nop 0
3846 ; PRELOAD-1-NEXT:    s_nop 0
3847 ; PRELOAD-1-NEXT:    s_nop 0
3848 ; PRELOAD-1-NEXT:    s_nop 0
3849 ; PRELOAD-1-NEXT:    s_nop 0
3850 ; PRELOAD-1-NEXT:    s_nop 0
3851 ; PRELOAD-1-NEXT:    s_nop 0
3852 ; PRELOAD-1-NEXT:    s_nop 0
3853 ; PRELOAD-1-NEXT:    s_nop 0
3854 ; PRELOAD-1-NEXT:    s_nop 0
3855 ; PRELOAD-1-NEXT:    s_nop 0
3856 ; PRELOAD-1-NEXT:    s_nop 0
3857 ; PRELOAD-1-NEXT:  ; %bb.0:
3858 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x8
3859 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, 0
3860 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
3861 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s1
3862 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s0
3863 ; PRELOAD-1-NEXT:    global_store_byte v0, v1, s[2:3] offset:4 sc0 sc1
3864 ; PRELOAD-1-NEXT:    global_store_dword v0, v2, s[2:3] sc0 sc1
3865 ; PRELOAD-1-NEXT:    s_endpgm
3867 ; PRELOAD-2-LABEL: v5i8_preload_arg:
3868 ; PRELOAD-2:         s_nop 0
3869 ; PRELOAD-2-NEXT:    s_nop 0
3870 ; PRELOAD-2-NEXT:    s_nop 0
3871 ; PRELOAD-2-NEXT:    s_nop 0
3872 ; PRELOAD-2-NEXT:    s_nop 0
3873 ; PRELOAD-2-NEXT:    s_nop 0
3874 ; PRELOAD-2-NEXT:    s_nop 0
3875 ; PRELOAD-2-NEXT:    s_nop 0
3876 ; PRELOAD-2-NEXT:    s_nop 0
3877 ; PRELOAD-2-NEXT:    s_nop 0
3878 ; PRELOAD-2-NEXT:    s_nop 0
3879 ; PRELOAD-2-NEXT:    s_nop 0
3880 ; PRELOAD-2-NEXT:    s_nop 0
3881 ; PRELOAD-2-NEXT:    s_nop 0
3882 ; PRELOAD-2-NEXT:    s_nop 0
3883 ; PRELOAD-2-NEXT:    s_nop 0
3884 ; PRELOAD-2-NEXT:    s_nop 0
3885 ; PRELOAD-2-NEXT:    s_nop 0
3886 ; PRELOAD-2-NEXT:    s_nop 0
3887 ; PRELOAD-2-NEXT:    s_nop 0
3888 ; PRELOAD-2-NEXT:    s_nop 0
3889 ; PRELOAD-2-NEXT:    s_nop 0
3890 ; PRELOAD-2-NEXT:    s_nop 0
3891 ; PRELOAD-2-NEXT:    s_nop 0
3892 ; PRELOAD-2-NEXT:    s_nop 0
3893 ; PRELOAD-2-NEXT:    s_nop 0
3894 ; PRELOAD-2-NEXT:    s_nop 0
3895 ; PRELOAD-2-NEXT:    s_nop 0
3896 ; PRELOAD-2-NEXT:    s_nop 0
3897 ; PRELOAD-2-NEXT:    s_nop 0
3898 ; PRELOAD-2-NEXT:    s_nop 0
3899 ; PRELOAD-2-NEXT:    s_nop 0
3900 ; PRELOAD-2-NEXT:    s_nop 0
3901 ; PRELOAD-2-NEXT:    s_nop 0
3902 ; PRELOAD-2-NEXT:    s_nop 0
3903 ; PRELOAD-2-NEXT:    s_nop 0
3904 ; PRELOAD-2-NEXT:    s_nop 0
3905 ; PRELOAD-2-NEXT:    s_nop 0
3906 ; PRELOAD-2-NEXT:    s_nop 0
3907 ; PRELOAD-2-NEXT:    s_nop 0
3908 ; PRELOAD-2-NEXT:    s_nop 0
3909 ; PRELOAD-2-NEXT:    s_nop 0
3910 ; PRELOAD-2-NEXT:    s_nop 0
3911 ; PRELOAD-2-NEXT:    s_nop 0
3912 ; PRELOAD-2-NEXT:    s_nop 0
3913 ; PRELOAD-2-NEXT:    s_nop 0
3914 ; PRELOAD-2-NEXT:    s_nop 0
3915 ; PRELOAD-2-NEXT:    s_nop 0
3916 ; PRELOAD-2-NEXT:    s_nop 0
3917 ; PRELOAD-2-NEXT:    s_nop 0
3918 ; PRELOAD-2-NEXT:    s_nop 0
3919 ; PRELOAD-2-NEXT:    s_nop 0
3920 ; PRELOAD-2-NEXT:    s_nop 0
3921 ; PRELOAD-2-NEXT:    s_nop 0
3922 ; PRELOAD-2-NEXT:    s_nop 0
3923 ; PRELOAD-2-NEXT:    s_nop 0
3924 ; PRELOAD-2-NEXT:    s_nop 0
3925 ; PRELOAD-2-NEXT:    s_nop 0
3926 ; PRELOAD-2-NEXT:    s_nop 0
3927 ; PRELOAD-2-NEXT:    s_nop 0
3928 ; PRELOAD-2-NEXT:    s_nop 0
3929 ; PRELOAD-2-NEXT:    s_nop 0
3930 ; PRELOAD-2-NEXT:    s_nop 0
3931 ; PRELOAD-2-NEXT:    s_nop 0
3932 ; PRELOAD-2-NEXT:  ; %bb.0:
3933 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 8
3934 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
3935 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 24
3936 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
3937 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 16
3938 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
3939 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
3940 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s5
3941 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
3942 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, 0
3943 ; PRELOAD-2-NEXT:    global_store_byte v1, v2, s[2:3] offset:4 sc0 sc1
3944 ; PRELOAD-2-NEXT:    global_store_dword v1, v0, s[2:3] sc0 sc1
3945 ; PRELOAD-2-NEXT:    s_endpgm
3947 ; PRELOAD-4-LABEL: v5i8_preload_arg:
3948 ; PRELOAD-4:         s_nop 0
3949 ; PRELOAD-4-NEXT:    s_nop 0
3950 ; PRELOAD-4-NEXT:    s_nop 0
3951 ; PRELOAD-4-NEXT:    s_nop 0
3952 ; PRELOAD-4-NEXT:    s_nop 0
3953 ; PRELOAD-4-NEXT:    s_nop 0
3954 ; PRELOAD-4-NEXT:    s_nop 0
3955 ; PRELOAD-4-NEXT:    s_nop 0
3956 ; PRELOAD-4-NEXT:    s_nop 0
3957 ; PRELOAD-4-NEXT:    s_nop 0
3958 ; PRELOAD-4-NEXT:    s_nop 0
3959 ; PRELOAD-4-NEXT:    s_nop 0
3960 ; PRELOAD-4-NEXT:    s_nop 0
3961 ; PRELOAD-4-NEXT:    s_nop 0
3962 ; PRELOAD-4-NEXT:    s_nop 0
3963 ; PRELOAD-4-NEXT:    s_nop 0
3964 ; PRELOAD-4-NEXT:    s_nop 0
3965 ; PRELOAD-4-NEXT:    s_nop 0
3966 ; PRELOAD-4-NEXT:    s_nop 0
3967 ; PRELOAD-4-NEXT:    s_nop 0
3968 ; PRELOAD-4-NEXT:    s_nop 0
3969 ; PRELOAD-4-NEXT:    s_nop 0
3970 ; PRELOAD-4-NEXT:    s_nop 0
3971 ; PRELOAD-4-NEXT:    s_nop 0
3972 ; PRELOAD-4-NEXT:    s_nop 0
3973 ; PRELOAD-4-NEXT:    s_nop 0
3974 ; PRELOAD-4-NEXT:    s_nop 0
3975 ; PRELOAD-4-NEXT:    s_nop 0
3976 ; PRELOAD-4-NEXT:    s_nop 0
3977 ; PRELOAD-4-NEXT:    s_nop 0
3978 ; PRELOAD-4-NEXT:    s_nop 0
3979 ; PRELOAD-4-NEXT:    s_nop 0
3980 ; PRELOAD-4-NEXT:    s_nop 0
3981 ; PRELOAD-4-NEXT:    s_nop 0
3982 ; PRELOAD-4-NEXT:    s_nop 0
3983 ; PRELOAD-4-NEXT:    s_nop 0
3984 ; PRELOAD-4-NEXT:    s_nop 0
3985 ; PRELOAD-4-NEXT:    s_nop 0
3986 ; PRELOAD-4-NEXT:    s_nop 0
3987 ; PRELOAD-4-NEXT:    s_nop 0
3988 ; PRELOAD-4-NEXT:    s_nop 0
3989 ; PRELOAD-4-NEXT:    s_nop 0
3990 ; PRELOAD-4-NEXT:    s_nop 0
3991 ; PRELOAD-4-NEXT:    s_nop 0
3992 ; PRELOAD-4-NEXT:    s_nop 0
3993 ; PRELOAD-4-NEXT:    s_nop 0
3994 ; PRELOAD-4-NEXT:    s_nop 0
3995 ; PRELOAD-4-NEXT:    s_nop 0
3996 ; PRELOAD-4-NEXT:    s_nop 0
3997 ; PRELOAD-4-NEXT:    s_nop 0
3998 ; PRELOAD-4-NEXT:    s_nop 0
3999 ; PRELOAD-4-NEXT:    s_nop 0
4000 ; PRELOAD-4-NEXT:    s_nop 0
4001 ; PRELOAD-4-NEXT:    s_nop 0
4002 ; PRELOAD-4-NEXT:    s_nop 0
4003 ; PRELOAD-4-NEXT:    s_nop 0
4004 ; PRELOAD-4-NEXT:    s_nop 0
4005 ; PRELOAD-4-NEXT:    s_nop 0
4006 ; PRELOAD-4-NEXT:    s_nop 0
4007 ; PRELOAD-4-NEXT:    s_nop 0
4008 ; PRELOAD-4-NEXT:    s_nop 0
4009 ; PRELOAD-4-NEXT:    s_nop 0
4010 ; PRELOAD-4-NEXT:    s_nop 0
4011 ; PRELOAD-4-NEXT:    s_nop 0
4012 ; PRELOAD-4-NEXT:  ; %bb.0:
4013 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 8
4014 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4015 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 24
4016 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
4017 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 16
4018 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4019 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4020 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s5
4021 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4022 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, 0
4023 ; PRELOAD-4-NEXT:    global_store_byte v1, v2, s[2:3] offset:4 sc0 sc1
4024 ; PRELOAD-4-NEXT:    global_store_dword v1, v0, s[2:3] sc0 sc1
4025 ; PRELOAD-4-NEXT:    s_endpgm
4027 ; PRELOAD-8-LABEL: v5i8_preload_arg:
4028 ; PRELOAD-8:         s_nop 0
4029 ; PRELOAD-8-NEXT:    s_nop 0
4030 ; PRELOAD-8-NEXT:    s_nop 0
4031 ; PRELOAD-8-NEXT:    s_nop 0
4032 ; PRELOAD-8-NEXT:    s_nop 0
4033 ; PRELOAD-8-NEXT:    s_nop 0
4034 ; PRELOAD-8-NEXT:    s_nop 0
4035 ; PRELOAD-8-NEXT:    s_nop 0
4036 ; PRELOAD-8-NEXT:    s_nop 0
4037 ; PRELOAD-8-NEXT:    s_nop 0
4038 ; PRELOAD-8-NEXT:    s_nop 0
4039 ; PRELOAD-8-NEXT:    s_nop 0
4040 ; PRELOAD-8-NEXT:    s_nop 0
4041 ; PRELOAD-8-NEXT:    s_nop 0
4042 ; PRELOAD-8-NEXT:    s_nop 0
4043 ; PRELOAD-8-NEXT:    s_nop 0
4044 ; PRELOAD-8-NEXT:    s_nop 0
4045 ; PRELOAD-8-NEXT:    s_nop 0
4046 ; PRELOAD-8-NEXT:    s_nop 0
4047 ; PRELOAD-8-NEXT:    s_nop 0
4048 ; PRELOAD-8-NEXT:    s_nop 0
4049 ; PRELOAD-8-NEXT:    s_nop 0
4050 ; PRELOAD-8-NEXT:    s_nop 0
4051 ; PRELOAD-8-NEXT:    s_nop 0
4052 ; PRELOAD-8-NEXT:    s_nop 0
4053 ; PRELOAD-8-NEXT:    s_nop 0
4054 ; PRELOAD-8-NEXT:    s_nop 0
4055 ; PRELOAD-8-NEXT:    s_nop 0
4056 ; PRELOAD-8-NEXT:    s_nop 0
4057 ; PRELOAD-8-NEXT:    s_nop 0
4058 ; PRELOAD-8-NEXT:    s_nop 0
4059 ; PRELOAD-8-NEXT:    s_nop 0
4060 ; PRELOAD-8-NEXT:    s_nop 0
4061 ; PRELOAD-8-NEXT:    s_nop 0
4062 ; PRELOAD-8-NEXT:    s_nop 0
4063 ; PRELOAD-8-NEXT:    s_nop 0
4064 ; PRELOAD-8-NEXT:    s_nop 0
4065 ; PRELOAD-8-NEXT:    s_nop 0
4066 ; PRELOAD-8-NEXT:    s_nop 0
4067 ; PRELOAD-8-NEXT:    s_nop 0
4068 ; PRELOAD-8-NEXT:    s_nop 0
4069 ; PRELOAD-8-NEXT:    s_nop 0
4070 ; PRELOAD-8-NEXT:    s_nop 0
4071 ; PRELOAD-8-NEXT:    s_nop 0
4072 ; PRELOAD-8-NEXT:    s_nop 0
4073 ; PRELOAD-8-NEXT:    s_nop 0
4074 ; PRELOAD-8-NEXT:    s_nop 0
4075 ; PRELOAD-8-NEXT:    s_nop 0
4076 ; PRELOAD-8-NEXT:    s_nop 0
4077 ; PRELOAD-8-NEXT:    s_nop 0
4078 ; PRELOAD-8-NEXT:    s_nop 0
4079 ; PRELOAD-8-NEXT:    s_nop 0
4080 ; PRELOAD-8-NEXT:    s_nop 0
4081 ; PRELOAD-8-NEXT:    s_nop 0
4082 ; PRELOAD-8-NEXT:    s_nop 0
4083 ; PRELOAD-8-NEXT:    s_nop 0
4084 ; PRELOAD-8-NEXT:    s_nop 0
4085 ; PRELOAD-8-NEXT:    s_nop 0
4086 ; PRELOAD-8-NEXT:    s_nop 0
4087 ; PRELOAD-8-NEXT:    s_nop 0
4088 ; PRELOAD-8-NEXT:    s_nop 0
4089 ; PRELOAD-8-NEXT:    s_nop 0
4090 ; PRELOAD-8-NEXT:    s_nop 0
4091 ; PRELOAD-8-NEXT:    s_nop 0
4092 ; PRELOAD-8-NEXT:  ; %bb.0:
4093 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 8
4094 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4095 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 24
4096 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
4097 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 16
4098 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4099 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4100 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s5
4101 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4102 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, 0
4103 ; PRELOAD-8-NEXT:    global_store_byte v1, v2, s[2:3] offset:4 sc0 sc1
4104 ; PRELOAD-8-NEXT:    global_store_dword v1, v0, s[2:3] sc0 sc1
4105 ; PRELOAD-8-NEXT:    s_endpgm
4106   store <5 x i8> %in, ptr addrspace(1) %out, align 4
4107   ret void
4110 define amdgpu_kernel void @v5f64_arg(ptr addrspace(1) nocapture %out, <5 x double> %in) nounwind {
4111 ; NO-PRELOAD-LABEL: v5f64_arg:
4112 ; NO-PRELOAD:       ; %bb.0:
4113 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[2:3], s[0:1], 0x60
4114 ; NO-PRELOAD-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x40
4115 ; NO-PRELOAD-NEXT:    s_load_dwordx2 s[12:13], s[0:1], 0x0
4116 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v4, 0
4117 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
4118 ; NO-PRELOAD-NEXT:    v_mov_b64_e32 v[2:3], s[2:3]
4119 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s8
4120 ; NO-PRELOAD-NEXT:    global_store_dwordx2 v4, v[2:3], s[12:13] offset:32 sc0 sc1
4121 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s9
4122 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s10
4123 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, s11
4124 ; NO-PRELOAD-NEXT:    global_store_dwordx4 v4, v[0:3], s[12:13] offset:16 sc0 sc1
4125 ; NO-PRELOAD-NEXT:    s_nop 1
4126 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s4
4127 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s5
4128 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, s6
4129 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v3, s7
4130 ; NO-PRELOAD-NEXT:    global_store_dwordx4 v4, v[0:3], s[12:13] sc0 sc1
4131 ; NO-PRELOAD-NEXT:    s_endpgm
4133 ; PRELOAD-1-LABEL: v5f64_arg:
4134 ; PRELOAD-1:         s_nop 0
4135 ; PRELOAD-1-NEXT:    s_nop 0
4136 ; PRELOAD-1-NEXT:    s_nop 0
4137 ; PRELOAD-1-NEXT:    s_nop 0
4138 ; PRELOAD-1-NEXT:    s_nop 0
4139 ; PRELOAD-1-NEXT:    s_nop 0
4140 ; PRELOAD-1-NEXT:    s_nop 0
4141 ; PRELOAD-1-NEXT:    s_nop 0
4142 ; PRELOAD-1-NEXT:    s_nop 0
4143 ; PRELOAD-1-NEXT:    s_nop 0
4144 ; PRELOAD-1-NEXT:    s_nop 0
4145 ; PRELOAD-1-NEXT:    s_nop 0
4146 ; PRELOAD-1-NEXT:    s_nop 0
4147 ; PRELOAD-1-NEXT:    s_nop 0
4148 ; PRELOAD-1-NEXT:    s_nop 0
4149 ; PRELOAD-1-NEXT:    s_nop 0
4150 ; PRELOAD-1-NEXT:    s_nop 0
4151 ; PRELOAD-1-NEXT:    s_nop 0
4152 ; PRELOAD-1-NEXT:    s_nop 0
4153 ; PRELOAD-1-NEXT:    s_nop 0
4154 ; PRELOAD-1-NEXT:    s_nop 0
4155 ; PRELOAD-1-NEXT:    s_nop 0
4156 ; PRELOAD-1-NEXT:    s_nop 0
4157 ; PRELOAD-1-NEXT:    s_nop 0
4158 ; PRELOAD-1-NEXT:    s_nop 0
4159 ; PRELOAD-1-NEXT:    s_nop 0
4160 ; PRELOAD-1-NEXT:    s_nop 0
4161 ; PRELOAD-1-NEXT:    s_nop 0
4162 ; PRELOAD-1-NEXT:    s_nop 0
4163 ; PRELOAD-1-NEXT:    s_nop 0
4164 ; PRELOAD-1-NEXT:    s_nop 0
4165 ; PRELOAD-1-NEXT:    s_nop 0
4166 ; PRELOAD-1-NEXT:    s_nop 0
4167 ; PRELOAD-1-NEXT:    s_nop 0
4168 ; PRELOAD-1-NEXT:    s_nop 0
4169 ; PRELOAD-1-NEXT:    s_nop 0
4170 ; PRELOAD-1-NEXT:    s_nop 0
4171 ; PRELOAD-1-NEXT:    s_nop 0
4172 ; PRELOAD-1-NEXT:    s_nop 0
4173 ; PRELOAD-1-NEXT:    s_nop 0
4174 ; PRELOAD-1-NEXT:    s_nop 0
4175 ; PRELOAD-1-NEXT:    s_nop 0
4176 ; PRELOAD-1-NEXT:    s_nop 0
4177 ; PRELOAD-1-NEXT:    s_nop 0
4178 ; PRELOAD-1-NEXT:    s_nop 0
4179 ; PRELOAD-1-NEXT:    s_nop 0
4180 ; PRELOAD-1-NEXT:    s_nop 0
4181 ; PRELOAD-1-NEXT:    s_nop 0
4182 ; PRELOAD-1-NEXT:    s_nop 0
4183 ; PRELOAD-1-NEXT:    s_nop 0
4184 ; PRELOAD-1-NEXT:    s_nop 0
4185 ; PRELOAD-1-NEXT:    s_nop 0
4186 ; PRELOAD-1-NEXT:    s_nop 0
4187 ; PRELOAD-1-NEXT:    s_nop 0
4188 ; PRELOAD-1-NEXT:    s_nop 0
4189 ; PRELOAD-1-NEXT:    s_nop 0
4190 ; PRELOAD-1-NEXT:    s_nop 0
4191 ; PRELOAD-1-NEXT:    s_nop 0
4192 ; PRELOAD-1-NEXT:    s_nop 0
4193 ; PRELOAD-1-NEXT:    s_nop 0
4194 ; PRELOAD-1-NEXT:    s_nop 0
4195 ; PRELOAD-1-NEXT:    s_nop 0
4196 ; PRELOAD-1-NEXT:    s_nop 0
4197 ; PRELOAD-1-NEXT:    s_nop 0
4198 ; PRELOAD-1-NEXT:  ; %bb.0:
4199 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[12:13], s[0:1], 0x60
4200 ; PRELOAD-1-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x40
4201 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v4, 0
4202 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
4203 ; PRELOAD-1-NEXT:    v_mov_b64_e32 v[2:3], s[12:13]
4204 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s8
4205 ; PRELOAD-1-NEXT:    global_store_dwordx2 v4, v[2:3], s[2:3] offset:32 sc0 sc1
4206 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s9
4207 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s10
4208 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, s11
4209 ; PRELOAD-1-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
4210 ; PRELOAD-1-NEXT:    s_nop 1
4211 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v0, s4
4212 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v1, s5
4213 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, s6
4214 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v3, s7
4215 ; PRELOAD-1-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
4216 ; PRELOAD-1-NEXT:    s_endpgm
4218 ; PRELOAD-2-LABEL: v5f64_arg:
4219 ; PRELOAD-2:         s_nop 0
4220 ; PRELOAD-2-NEXT:    s_nop 0
4221 ; PRELOAD-2-NEXT:    s_nop 0
4222 ; PRELOAD-2-NEXT:    s_nop 0
4223 ; PRELOAD-2-NEXT:    s_nop 0
4224 ; PRELOAD-2-NEXT:    s_nop 0
4225 ; PRELOAD-2-NEXT:    s_nop 0
4226 ; PRELOAD-2-NEXT:    s_nop 0
4227 ; PRELOAD-2-NEXT:    s_nop 0
4228 ; PRELOAD-2-NEXT:    s_nop 0
4229 ; PRELOAD-2-NEXT:    s_nop 0
4230 ; PRELOAD-2-NEXT:    s_nop 0
4231 ; PRELOAD-2-NEXT:    s_nop 0
4232 ; PRELOAD-2-NEXT:    s_nop 0
4233 ; PRELOAD-2-NEXT:    s_nop 0
4234 ; PRELOAD-2-NEXT:    s_nop 0
4235 ; PRELOAD-2-NEXT:    s_nop 0
4236 ; PRELOAD-2-NEXT:    s_nop 0
4237 ; PRELOAD-2-NEXT:    s_nop 0
4238 ; PRELOAD-2-NEXT:    s_nop 0
4239 ; PRELOAD-2-NEXT:    s_nop 0
4240 ; PRELOAD-2-NEXT:    s_nop 0
4241 ; PRELOAD-2-NEXT:    s_nop 0
4242 ; PRELOAD-2-NEXT:    s_nop 0
4243 ; PRELOAD-2-NEXT:    s_nop 0
4244 ; PRELOAD-2-NEXT:    s_nop 0
4245 ; PRELOAD-2-NEXT:    s_nop 0
4246 ; PRELOAD-2-NEXT:    s_nop 0
4247 ; PRELOAD-2-NEXT:    s_nop 0
4248 ; PRELOAD-2-NEXT:    s_nop 0
4249 ; PRELOAD-2-NEXT:    s_nop 0
4250 ; PRELOAD-2-NEXT:    s_nop 0
4251 ; PRELOAD-2-NEXT:    s_nop 0
4252 ; PRELOAD-2-NEXT:    s_nop 0
4253 ; PRELOAD-2-NEXT:    s_nop 0
4254 ; PRELOAD-2-NEXT:    s_nop 0
4255 ; PRELOAD-2-NEXT:    s_nop 0
4256 ; PRELOAD-2-NEXT:    s_nop 0
4257 ; PRELOAD-2-NEXT:    s_nop 0
4258 ; PRELOAD-2-NEXT:    s_nop 0
4259 ; PRELOAD-2-NEXT:    s_nop 0
4260 ; PRELOAD-2-NEXT:    s_nop 0
4261 ; PRELOAD-2-NEXT:    s_nop 0
4262 ; PRELOAD-2-NEXT:    s_nop 0
4263 ; PRELOAD-2-NEXT:    s_nop 0
4264 ; PRELOAD-2-NEXT:    s_nop 0
4265 ; PRELOAD-2-NEXT:    s_nop 0
4266 ; PRELOAD-2-NEXT:    s_nop 0
4267 ; PRELOAD-2-NEXT:    s_nop 0
4268 ; PRELOAD-2-NEXT:    s_nop 0
4269 ; PRELOAD-2-NEXT:    s_nop 0
4270 ; PRELOAD-2-NEXT:    s_nop 0
4271 ; PRELOAD-2-NEXT:    s_nop 0
4272 ; PRELOAD-2-NEXT:    s_nop 0
4273 ; PRELOAD-2-NEXT:    s_nop 0
4274 ; PRELOAD-2-NEXT:    s_nop 0
4275 ; PRELOAD-2-NEXT:    s_nop 0
4276 ; PRELOAD-2-NEXT:    s_nop 0
4277 ; PRELOAD-2-NEXT:    s_nop 0
4278 ; PRELOAD-2-NEXT:    s_nop 0
4279 ; PRELOAD-2-NEXT:    s_nop 0
4280 ; PRELOAD-2-NEXT:    s_nop 0
4281 ; PRELOAD-2-NEXT:    s_nop 0
4282 ; PRELOAD-2-NEXT:    s_nop 0
4283 ; PRELOAD-2-NEXT:  ; %bb.0:
4284 ; PRELOAD-2-NEXT:    s_load_dwordx2 s[12:13], s[0:1], 0x60
4285 ; PRELOAD-2-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x40
4286 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v4, 0
4287 ; PRELOAD-2-NEXT:    s_waitcnt lgkmcnt(0)
4288 ; PRELOAD-2-NEXT:    v_mov_b64_e32 v[2:3], s[12:13]
4289 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s8
4290 ; PRELOAD-2-NEXT:    global_store_dwordx2 v4, v[2:3], s[2:3] offset:32 sc0 sc1
4291 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s9
4292 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s10
4293 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, s11
4294 ; PRELOAD-2-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
4295 ; PRELOAD-2-NEXT:    s_nop 1
4296 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v0, s4
4297 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v1, s5
4298 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, s6
4299 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v3, s7
4300 ; PRELOAD-2-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
4301 ; PRELOAD-2-NEXT:    s_endpgm
4303 ; PRELOAD-4-LABEL: v5f64_arg:
4304 ; PRELOAD-4:         s_nop 0
4305 ; PRELOAD-4-NEXT:    s_nop 0
4306 ; PRELOAD-4-NEXT:    s_nop 0
4307 ; PRELOAD-4-NEXT:    s_nop 0
4308 ; PRELOAD-4-NEXT:    s_nop 0
4309 ; PRELOAD-4-NEXT:    s_nop 0
4310 ; PRELOAD-4-NEXT:    s_nop 0
4311 ; PRELOAD-4-NEXT:    s_nop 0
4312 ; PRELOAD-4-NEXT:    s_nop 0
4313 ; PRELOAD-4-NEXT:    s_nop 0
4314 ; PRELOAD-4-NEXT:    s_nop 0
4315 ; PRELOAD-4-NEXT:    s_nop 0
4316 ; PRELOAD-4-NEXT:    s_nop 0
4317 ; PRELOAD-4-NEXT:    s_nop 0
4318 ; PRELOAD-4-NEXT:    s_nop 0
4319 ; PRELOAD-4-NEXT:    s_nop 0
4320 ; PRELOAD-4-NEXT:    s_nop 0
4321 ; PRELOAD-4-NEXT:    s_nop 0
4322 ; PRELOAD-4-NEXT:    s_nop 0
4323 ; PRELOAD-4-NEXT:    s_nop 0
4324 ; PRELOAD-4-NEXT:    s_nop 0
4325 ; PRELOAD-4-NEXT:    s_nop 0
4326 ; PRELOAD-4-NEXT:    s_nop 0
4327 ; PRELOAD-4-NEXT:    s_nop 0
4328 ; PRELOAD-4-NEXT:    s_nop 0
4329 ; PRELOAD-4-NEXT:    s_nop 0
4330 ; PRELOAD-4-NEXT:    s_nop 0
4331 ; PRELOAD-4-NEXT:    s_nop 0
4332 ; PRELOAD-4-NEXT:    s_nop 0
4333 ; PRELOAD-4-NEXT:    s_nop 0
4334 ; PRELOAD-4-NEXT:    s_nop 0
4335 ; PRELOAD-4-NEXT:    s_nop 0
4336 ; PRELOAD-4-NEXT:    s_nop 0
4337 ; PRELOAD-4-NEXT:    s_nop 0
4338 ; PRELOAD-4-NEXT:    s_nop 0
4339 ; PRELOAD-4-NEXT:    s_nop 0
4340 ; PRELOAD-4-NEXT:    s_nop 0
4341 ; PRELOAD-4-NEXT:    s_nop 0
4342 ; PRELOAD-4-NEXT:    s_nop 0
4343 ; PRELOAD-4-NEXT:    s_nop 0
4344 ; PRELOAD-4-NEXT:    s_nop 0
4345 ; PRELOAD-4-NEXT:    s_nop 0
4346 ; PRELOAD-4-NEXT:    s_nop 0
4347 ; PRELOAD-4-NEXT:    s_nop 0
4348 ; PRELOAD-4-NEXT:    s_nop 0
4349 ; PRELOAD-4-NEXT:    s_nop 0
4350 ; PRELOAD-4-NEXT:    s_nop 0
4351 ; PRELOAD-4-NEXT:    s_nop 0
4352 ; PRELOAD-4-NEXT:    s_nop 0
4353 ; PRELOAD-4-NEXT:    s_nop 0
4354 ; PRELOAD-4-NEXT:    s_nop 0
4355 ; PRELOAD-4-NEXT:    s_nop 0
4356 ; PRELOAD-4-NEXT:    s_nop 0
4357 ; PRELOAD-4-NEXT:    s_nop 0
4358 ; PRELOAD-4-NEXT:    s_nop 0
4359 ; PRELOAD-4-NEXT:    s_nop 0
4360 ; PRELOAD-4-NEXT:    s_nop 0
4361 ; PRELOAD-4-NEXT:    s_nop 0
4362 ; PRELOAD-4-NEXT:    s_nop 0
4363 ; PRELOAD-4-NEXT:    s_nop 0
4364 ; PRELOAD-4-NEXT:    s_nop 0
4365 ; PRELOAD-4-NEXT:    s_nop 0
4366 ; PRELOAD-4-NEXT:    s_nop 0
4367 ; PRELOAD-4-NEXT:    s_nop 0
4368 ; PRELOAD-4-NEXT:  ; %bb.0:
4369 ; PRELOAD-4-NEXT:    s_load_dwordx2 s[12:13], s[0:1], 0x60
4370 ; PRELOAD-4-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x40
4371 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v4, 0
4372 ; PRELOAD-4-NEXT:    s_waitcnt lgkmcnt(0)
4373 ; PRELOAD-4-NEXT:    v_mov_b64_e32 v[2:3], s[12:13]
4374 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s8
4375 ; PRELOAD-4-NEXT:    global_store_dwordx2 v4, v[2:3], s[2:3] offset:32 sc0 sc1
4376 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s9
4377 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s10
4378 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, s11
4379 ; PRELOAD-4-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
4380 ; PRELOAD-4-NEXT:    s_nop 1
4381 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v0, s4
4382 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v1, s5
4383 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, s6
4384 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v3, s7
4385 ; PRELOAD-4-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
4386 ; PRELOAD-4-NEXT:    s_endpgm
4388 ; PRELOAD-8-LABEL: v5f64_arg:
4389 ; PRELOAD-8:         s_nop 0
4390 ; PRELOAD-8-NEXT:    s_nop 0
4391 ; PRELOAD-8-NEXT:    s_nop 0
4392 ; PRELOAD-8-NEXT:    s_nop 0
4393 ; PRELOAD-8-NEXT:    s_nop 0
4394 ; PRELOAD-8-NEXT:    s_nop 0
4395 ; PRELOAD-8-NEXT:    s_nop 0
4396 ; PRELOAD-8-NEXT:    s_nop 0
4397 ; PRELOAD-8-NEXT:    s_nop 0
4398 ; PRELOAD-8-NEXT:    s_nop 0
4399 ; PRELOAD-8-NEXT:    s_nop 0
4400 ; PRELOAD-8-NEXT:    s_nop 0
4401 ; PRELOAD-8-NEXT:    s_nop 0
4402 ; PRELOAD-8-NEXT:    s_nop 0
4403 ; PRELOAD-8-NEXT:    s_nop 0
4404 ; PRELOAD-8-NEXT:    s_nop 0
4405 ; PRELOAD-8-NEXT:    s_nop 0
4406 ; PRELOAD-8-NEXT:    s_nop 0
4407 ; PRELOAD-8-NEXT:    s_nop 0
4408 ; PRELOAD-8-NEXT:    s_nop 0
4409 ; PRELOAD-8-NEXT:    s_nop 0
4410 ; PRELOAD-8-NEXT:    s_nop 0
4411 ; PRELOAD-8-NEXT:    s_nop 0
4412 ; PRELOAD-8-NEXT:    s_nop 0
4413 ; PRELOAD-8-NEXT:    s_nop 0
4414 ; PRELOAD-8-NEXT:    s_nop 0
4415 ; PRELOAD-8-NEXT:    s_nop 0
4416 ; PRELOAD-8-NEXT:    s_nop 0
4417 ; PRELOAD-8-NEXT:    s_nop 0
4418 ; PRELOAD-8-NEXT:    s_nop 0
4419 ; PRELOAD-8-NEXT:    s_nop 0
4420 ; PRELOAD-8-NEXT:    s_nop 0
4421 ; PRELOAD-8-NEXT:    s_nop 0
4422 ; PRELOAD-8-NEXT:    s_nop 0
4423 ; PRELOAD-8-NEXT:    s_nop 0
4424 ; PRELOAD-8-NEXT:    s_nop 0
4425 ; PRELOAD-8-NEXT:    s_nop 0
4426 ; PRELOAD-8-NEXT:    s_nop 0
4427 ; PRELOAD-8-NEXT:    s_nop 0
4428 ; PRELOAD-8-NEXT:    s_nop 0
4429 ; PRELOAD-8-NEXT:    s_nop 0
4430 ; PRELOAD-8-NEXT:    s_nop 0
4431 ; PRELOAD-8-NEXT:    s_nop 0
4432 ; PRELOAD-8-NEXT:    s_nop 0
4433 ; PRELOAD-8-NEXT:    s_nop 0
4434 ; PRELOAD-8-NEXT:    s_nop 0
4435 ; PRELOAD-8-NEXT:    s_nop 0
4436 ; PRELOAD-8-NEXT:    s_nop 0
4437 ; PRELOAD-8-NEXT:    s_nop 0
4438 ; PRELOAD-8-NEXT:    s_nop 0
4439 ; PRELOAD-8-NEXT:    s_nop 0
4440 ; PRELOAD-8-NEXT:    s_nop 0
4441 ; PRELOAD-8-NEXT:    s_nop 0
4442 ; PRELOAD-8-NEXT:    s_nop 0
4443 ; PRELOAD-8-NEXT:    s_nop 0
4444 ; PRELOAD-8-NEXT:    s_nop 0
4445 ; PRELOAD-8-NEXT:    s_nop 0
4446 ; PRELOAD-8-NEXT:    s_nop 0
4447 ; PRELOAD-8-NEXT:    s_nop 0
4448 ; PRELOAD-8-NEXT:    s_nop 0
4449 ; PRELOAD-8-NEXT:    s_nop 0
4450 ; PRELOAD-8-NEXT:    s_nop 0
4451 ; PRELOAD-8-NEXT:    s_nop 0
4452 ; PRELOAD-8-NEXT:    s_nop 0
4453 ; PRELOAD-8-NEXT:  ; %bb.0:
4454 ; PRELOAD-8-NEXT:    s_load_dwordx2 s[12:13], s[0:1], 0x60
4455 ; PRELOAD-8-NEXT:    s_load_dwordx8 s[4:11], s[0:1], 0x40
4456 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v4, 0
4457 ; PRELOAD-8-NEXT:    s_waitcnt lgkmcnt(0)
4458 ; PRELOAD-8-NEXT:    v_mov_b64_e32 v[2:3], s[12:13]
4459 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s8
4460 ; PRELOAD-8-NEXT:    global_store_dwordx2 v4, v[2:3], s[2:3] offset:32 sc0 sc1
4461 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s9
4462 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s10
4463 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, s11
4464 ; PRELOAD-8-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] offset:16 sc0 sc1
4465 ; PRELOAD-8-NEXT:    s_nop 1
4466 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v0, s4
4467 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v1, s5
4468 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, s6
4469 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v3, s7
4470 ; PRELOAD-8-NEXT:    global_store_dwordx4 v4, v[0:3], s[2:3] sc0 sc1
4471 ; PRELOAD-8-NEXT:    s_endpgm
4472   store <5 x double> %in, ptr addrspace(1) %out, align 8
4473   ret void
4476 define amdgpu_kernel void @v8i8_preload_arg(ptr addrspace(1) %out, <8 x i8> %in) {
4477 ; NO-PRELOAD-LABEL: v8i8_preload_arg:
4478 ; NO-PRELOAD:       ; %bb.0:
4479 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[0:3], s[0:1], 0x0
4480 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, 0
4481 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
4482 ; NO-PRELOAD-NEXT:    v_mov_b64_e32 v[0:1], s[2:3]
4483 ; NO-PRELOAD-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1] sc0 sc1
4484 ; NO-PRELOAD-NEXT:    s_endpgm
4486 ; PRELOAD-1-LABEL: v8i8_preload_arg:
4487 ; PRELOAD-1:         s_nop 0
4488 ; PRELOAD-1-NEXT:    s_nop 0
4489 ; PRELOAD-1-NEXT:    s_nop 0
4490 ; PRELOAD-1-NEXT:    s_nop 0
4491 ; PRELOAD-1-NEXT:    s_nop 0
4492 ; PRELOAD-1-NEXT:    s_nop 0
4493 ; PRELOAD-1-NEXT:    s_nop 0
4494 ; PRELOAD-1-NEXT:    s_nop 0
4495 ; PRELOAD-1-NEXT:    s_nop 0
4496 ; PRELOAD-1-NEXT:    s_nop 0
4497 ; PRELOAD-1-NEXT:    s_nop 0
4498 ; PRELOAD-1-NEXT:    s_nop 0
4499 ; PRELOAD-1-NEXT:    s_nop 0
4500 ; PRELOAD-1-NEXT:    s_nop 0
4501 ; PRELOAD-1-NEXT:    s_nop 0
4502 ; PRELOAD-1-NEXT:    s_nop 0
4503 ; PRELOAD-1-NEXT:    s_nop 0
4504 ; PRELOAD-1-NEXT:    s_nop 0
4505 ; PRELOAD-1-NEXT:    s_nop 0
4506 ; PRELOAD-1-NEXT:    s_nop 0
4507 ; PRELOAD-1-NEXT:    s_nop 0
4508 ; PRELOAD-1-NEXT:    s_nop 0
4509 ; PRELOAD-1-NEXT:    s_nop 0
4510 ; PRELOAD-1-NEXT:    s_nop 0
4511 ; PRELOAD-1-NEXT:    s_nop 0
4512 ; PRELOAD-1-NEXT:    s_nop 0
4513 ; PRELOAD-1-NEXT:    s_nop 0
4514 ; PRELOAD-1-NEXT:    s_nop 0
4515 ; PRELOAD-1-NEXT:    s_nop 0
4516 ; PRELOAD-1-NEXT:    s_nop 0
4517 ; PRELOAD-1-NEXT:    s_nop 0
4518 ; PRELOAD-1-NEXT:    s_nop 0
4519 ; PRELOAD-1-NEXT:    s_nop 0
4520 ; PRELOAD-1-NEXT:    s_nop 0
4521 ; PRELOAD-1-NEXT:    s_nop 0
4522 ; PRELOAD-1-NEXT:    s_nop 0
4523 ; PRELOAD-1-NEXT:    s_nop 0
4524 ; PRELOAD-1-NEXT:    s_nop 0
4525 ; PRELOAD-1-NEXT:    s_nop 0
4526 ; PRELOAD-1-NEXT:    s_nop 0
4527 ; PRELOAD-1-NEXT:    s_nop 0
4528 ; PRELOAD-1-NEXT:    s_nop 0
4529 ; PRELOAD-1-NEXT:    s_nop 0
4530 ; PRELOAD-1-NEXT:    s_nop 0
4531 ; PRELOAD-1-NEXT:    s_nop 0
4532 ; PRELOAD-1-NEXT:    s_nop 0
4533 ; PRELOAD-1-NEXT:    s_nop 0
4534 ; PRELOAD-1-NEXT:    s_nop 0
4535 ; PRELOAD-1-NEXT:    s_nop 0
4536 ; PRELOAD-1-NEXT:    s_nop 0
4537 ; PRELOAD-1-NEXT:    s_nop 0
4538 ; PRELOAD-1-NEXT:    s_nop 0
4539 ; PRELOAD-1-NEXT:    s_nop 0
4540 ; PRELOAD-1-NEXT:    s_nop 0
4541 ; PRELOAD-1-NEXT:    s_nop 0
4542 ; PRELOAD-1-NEXT:    s_nop 0
4543 ; PRELOAD-1-NEXT:    s_nop 0
4544 ; PRELOAD-1-NEXT:    s_nop 0
4545 ; PRELOAD-1-NEXT:    s_nop 0
4546 ; PRELOAD-1-NEXT:    s_nop 0
4547 ; PRELOAD-1-NEXT:    s_nop 0
4548 ; PRELOAD-1-NEXT:    s_nop 0
4549 ; PRELOAD-1-NEXT:    s_nop 0
4550 ; PRELOAD-1-NEXT:    s_nop 0
4551 ; PRELOAD-1-NEXT:  ; %bb.0:
4552 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x8
4553 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, 0
4554 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
4555 ; PRELOAD-1-NEXT:    v_mov_b64_e32 v[0:1], s[0:1]
4556 ; PRELOAD-1-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4557 ; PRELOAD-1-NEXT:    s_endpgm
4559 ; PRELOAD-2-LABEL: v8i8_preload_arg:
4560 ; PRELOAD-2:         s_nop 0
4561 ; PRELOAD-2-NEXT:    s_nop 0
4562 ; PRELOAD-2-NEXT:    s_nop 0
4563 ; PRELOAD-2-NEXT:    s_nop 0
4564 ; PRELOAD-2-NEXT:    s_nop 0
4565 ; PRELOAD-2-NEXT:    s_nop 0
4566 ; PRELOAD-2-NEXT:    s_nop 0
4567 ; PRELOAD-2-NEXT:    s_nop 0
4568 ; PRELOAD-2-NEXT:    s_nop 0
4569 ; PRELOAD-2-NEXT:    s_nop 0
4570 ; PRELOAD-2-NEXT:    s_nop 0
4571 ; PRELOAD-2-NEXT:    s_nop 0
4572 ; PRELOAD-2-NEXT:    s_nop 0
4573 ; PRELOAD-2-NEXT:    s_nop 0
4574 ; PRELOAD-2-NEXT:    s_nop 0
4575 ; PRELOAD-2-NEXT:    s_nop 0
4576 ; PRELOAD-2-NEXT:    s_nop 0
4577 ; PRELOAD-2-NEXT:    s_nop 0
4578 ; PRELOAD-2-NEXT:    s_nop 0
4579 ; PRELOAD-2-NEXT:    s_nop 0
4580 ; PRELOAD-2-NEXT:    s_nop 0
4581 ; PRELOAD-2-NEXT:    s_nop 0
4582 ; PRELOAD-2-NEXT:    s_nop 0
4583 ; PRELOAD-2-NEXT:    s_nop 0
4584 ; PRELOAD-2-NEXT:    s_nop 0
4585 ; PRELOAD-2-NEXT:    s_nop 0
4586 ; PRELOAD-2-NEXT:    s_nop 0
4587 ; PRELOAD-2-NEXT:    s_nop 0
4588 ; PRELOAD-2-NEXT:    s_nop 0
4589 ; PRELOAD-2-NEXT:    s_nop 0
4590 ; PRELOAD-2-NEXT:    s_nop 0
4591 ; PRELOAD-2-NEXT:    s_nop 0
4592 ; PRELOAD-2-NEXT:    s_nop 0
4593 ; PRELOAD-2-NEXT:    s_nop 0
4594 ; PRELOAD-2-NEXT:    s_nop 0
4595 ; PRELOAD-2-NEXT:    s_nop 0
4596 ; PRELOAD-2-NEXT:    s_nop 0
4597 ; PRELOAD-2-NEXT:    s_nop 0
4598 ; PRELOAD-2-NEXT:    s_nop 0
4599 ; PRELOAD-2-NEXT:    s_nop 0
4600 ; PRELOAD-2-NEXT:    s_nop 0
4601 ; PRELOAD-2-NEXT:    s_nop 0
4602 ; PRELOAD-2-NEXT:    s_nop 0
4603 ; PRELOAD-2-NEXT:    s_nop 0
4604 ; PRELOAD-2-NEXT:    s_nop 0
4605 ; PRELOAD-2-NEXT:    s_nop 0
4606 ; PRELOAD-2-NEXT:    s_nop 0
4607 ; PRELOAD-2-NEXT:    s_nop 0
4608 ; PRELOAD-2-NEXT:    s_nop 0
4609 ; PRELOAD-2-NEXT:    s_nop 0
4610 ; PRELOAD-2-NEXT:    s_nop 0
4611 ; PRELOAD-2-NEXT:    s_nop 0
4612 ; PRELOAD-2-NEXT:    s_nop 0
4613 ; PRELOAD-2-NEXT:    s_nop 0
4614 ; PRELOAD-2-NEXT:    s_nop 0
4615 ; PRELOAD-2-NEXT:    s_nop 0
4616 ; PRELOAD-2-NEXT:    s_nop 0
4617 ; PRELOAD-2-NEXT:    s_nop 0
4618 ; PRELOAD-2-NEXT:    s_nop 0
4619 ; PRELOAD-2-NEXT:    s_nop 0
4620 ; PRELOAD-2-NEXT:    s_nop 0
4621 ; PRELOAD-2-NEXT:    s_nop 0
4622 ; PRELOAD-2-NEXT:    s_nop 0
4623 ; PRELOAD-2-NEXT:    s_nop 0
4624 ; PRELOAD-2-NEXT:  ; %bb.0:
4625 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s5, 8
4626 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4627 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s5, 24
4628 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
4629 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s5, 16
4630 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, s5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4631 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4632 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 8
4633 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v1, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4634 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4635 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 24
4636 ; PRELOAD-2-NEXT:    v_lshlrev_b16_e64 v2, 8, s0
4637 ; PRELOAD-2-NEXT:    s_lshr_b32 s0, s4, 16
4638 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4639 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v2, s0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4640 ; PRELOAD-2-NEXT:    s_nop 0
4641 ; PRELOAD-2-NEXT:    v_or_b32_sdwa v0, v0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4642 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, 0
4643 ; PRELOAD-2-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4644 ; PRELOAD-2-NEXT:    s_endpgm
4646 ; PRELOAD-4-LABEL: v8i8_preload_arg:
4647 ; PRELOAD-4:         s_nop 0
4648 ; PRELOAD-4-NEXT:    s_nop 0
4649 ; PRELOAD-4-NEXT:    s_nop 0
4650 ; PRELOAD-4-NEXT:    s_nop 0
4651 ; PRELOAD-4-NEXT:    s_nop 0
4652 ; PRELOAD-4-NEXT:    s_nop 0
4653 ; PRELOAD-4-NEXT:    s_nop 0
4654 ; PRELOAD-4-NEXT:    s_nop 0
4655 ; PRELOAD-4-NEXT:    s_nop 0
4656 ; PRELOAD-4-NEXT:    s_nop 0
4657 ; PRELOAD-4-NEXT:    s_nop 0
4658 ; PRELOAD-4-NEXT:    s_nop 0
4659 ; PRELOAD-4-NEXT:    s_nop 0
4660 ; PRELOAD-4-NEXT:    s_nop 0
4661 ; PRELOAD-4-NEXT:    s_nop 0
4662 ; PRELOAD-4-NEXT:    s_nop 0
4663 ; PRELOAD-4-NEXT:    s_nop 0
4664 ; PRELOAD-4-NEXT:    s_nop 0
4665 ; PRELOAD-4-NEXT:    s_nop 0
4666 ; PRELOAD-4-NEXT:    s_nop 0
4667 ; PRELOAD-4-NEXT:    s_nop 0
4668 ; PRELOAD-4-NEXT:    s_nop 0
4669 ; PRELOAD-4-NEXT:    s_nop 0
4670 ; PRELOAD-4-NEXT:    s_nop 0
4671 ; PRELOAD-4-NEXT:    s_nop 0
4672 ; PRELOAD-4-NEXT:    s_nop 0
4673 ; PRELOAD-4-NEXT:    s_nop 0
4674 ; PRELOAD-4-NEXT:    s_nop 0
4675 ; PRELOAD-4-NEXT:    s_nop 0
4676 ; PRELOAD-4-NEXT:    s_nop 0
4677 ; PRELOAD-4-NEXT:    s_nop 0
4678 ; PRELOAD-4-NEXT:    s_nop 0
4679 ; PRELOAD-4-NEXT:    s_nop 0
4680 ; PRELOAD-4-NEXT:    s_nop 0
4681 ; PRELOAD-4-NEXT:    s_nop 0
4682 ; PRELOAD-4-NEXT:    s_nop 0
4683 ; PRELOAD-4-NEXT:    s_nop 0
4684 ; PRELOAD-4-NEXT:    s_nop 0
4685 ; PRELOAD-4-NEXT:    s_nop 0
4686 ; PRELOAD-4-NEXT:    s_nop 0
4687 ; PRELOAD-4-NEXT:    s_nop 0
4688 ; PRELOAD-4-NEXT:    s_nop 0
4689 ; PRELOAD-4-NEXT:    s_nop 0
4690 ; PRELOAD-4-NEXT:    s_nop 0
4691 ; PRELOAD-4-NEXT:    s_nop 0
4692 ; PRELOAD-4-NEXT:    s_nop 0
4693 ; PRELOAD-4-NEXT:    s_nop 0
4694 ; PRELOAD-4-NEXT:    s_nop 0
4695 ; PRELOAD-4-NEXT:    s_nop 0
4696 ; PRELOAD-4-NEXT:    s_nop 0
4697 ; PRELOAD-4-NEXT:    s_nop 0
4698 ; PRELOAD-4-NEXT:    s_nop 0
4699 ; PRELOAD-4-NEXT:    s_nop 0
4700 ; PRELOAD-4-NEXT:    s_nop 0
4701 ; PRELOAD-4-NEXT:    s_nop 0
4702 ; PRELOAD-4-NEXT:    s_nop 0
4703 ; PRELOAD-4-NEXT:    s_nop 0
4704 ; PRELOAD-4-NEXT:    s_nop 0
4705 ; PRELOAD-4-NEXT:    s_nop 0
4706 ; PRELOAD-4-NEXT:    s_nop 0
4707 ; PRELOAD-4-NEXT:    s_nop 0
4708 ; PRELOAD-4-NEXT:    s_nop 0
4709 ; PRELOAD-4-NEXT:    s_nop 0
4710 ; PRELOAD-4-NEXT:    s_nop 0
4711 ; PRELOAD-4-NEXT:  ; %bb.0:
4712 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s5, 8
4713 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4714 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s5, 24
4715 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
4716 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s5, 16
4717 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, s5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4718 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4719 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 8
4720 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v1, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4721 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4722 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 24
4723 ; PRELOAD-4-NEXT:    v_lshlrev_b16_e64 v2, 8, s0
4724 ; PRELOAD-4-NEXT:    s_lshr_b32 s0, s4, 16
4725 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4726 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v2, s0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4727 ; PRELOAD-4-NEXT:    s_nop 0
4728 ; PRELOAD-4-NEXT:    v_or_b32_sdwa v0, v0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4729 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, 0
4730 ; PRELOAD-4-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4731 ; PRELOAD-4-NEXT:    s_endpgm
4733 ; PRELOAD-8-LABEL: v8i8_preload_arg:
4734 ; PRELOAD-8:         s_nop 0
4735 ; PRELOAD-8-NEXT:    s_nop 0
4736 ; PRELOAD-8-NEXT:    s_nop 0
4737 ; PRELOAD-8-NEXT:    s_nop 0
4738 ; PRELOAD-8-NEXT:    s_nop 0
4739 ; PRELOAD-8-NEXT:    s_nop 0
4740 ; PRELOAD-8-NEXT:    s_nop 0
4741 ; PRELOAD-8-NEXT:    s_nop 0
4742 ; PRELOAD-8-NEXT:    s_nop 0
4743 ; PRELOAD-8-NEXT:    s_nop 0
4744 ; PRELOAD-8-NEXT:    s_nop 0
4745 ; PRELOAD-8-NEXT:    s_nop 0
4746 ; PRELOAD-8-NEXT:    s_nop 0
4747 ; PRELOAD-8-NEXT:    s_nop 0
4748 ; PRELOAD-8-NEXT:    s_nop 0
4749 ; PRELOAD-8-NEXT:    s_nop 0
4750 ; PRELOAD-8-NEXT:    s_nop 0
4751 ; PRELOAD-8-NEXT:    s_nop 0
4752 ; PRELOAD-8-NEXT:    s_nop 0
4753 ; PRELOAD-8-NEXT:    s_nop 0
4754 ; PRELOAD-8-NEXT:    s_nop 0
4755 ; PRELOAD-8-NEXT:    s_nop 0
4756 ; PRELOAD-8-NEXT:    s_nop 0
4757 ; PRELOAD-8-NEXT:    s_nop 0
4758 ; PRELOAD-8-NEXT:    s_nop 0
4759 ; PRELOAD-8-NEXT:    s_nop 0
4760 ; PRELOAD-8-NEXT:    s_nop 0
4761 ; PRELOAD-8-NEXT:    s_nop 0
4762 ; PRELOAD-8-NEXT:    s_nop 0
4763 ; PRELOAD-8-NEXT:    s_nop 0
4764 ; PRELOAD-8-NEXT:    s_nop 0
4765 ; PRELOAD-8-NEXT:    s_nop 0
4766 ; PRELOAD-8-NEXT:    s_nop 0
4767 ; PRELOAD-8-NEXT:    s_nop 0
4768 ; PRELOAD-8-NEXT:    s_nop 0
4769 ; PRELOAD-8-NEXT:    s_nop 0
4770 ; PRELOAD-8-NEXT:    s_nop 0
4771 ; PRELOAD-8-NEXT:    s_nop 0
4772 ; PRELOAD-8-NEXT:    s_nop 0
4773 ; PRELOAD-8-NEXT:    s_nop 0
4774 ; PRELOAD-8-NEXT:    s_nop 0
4775 ; PRELOAD-8-NEXT:    s_nop 0
4776 ; PRELOAD-8-NEXT:    s_nop 0
4777 ; PRELOAD-8-NEXT:    s_nop 0
4778 ; PRELOAD-8-NEXT:    s_nop 0
4779 ; PRELOAD-8-NEXT:    s_nop 0
4780 ; PRELOAD-8-NEXT:    s_nop 0
4781 ; PRELOAD-8-NEXT:    s_nop 0
4782 ; PRELOAD-8-NEXT:    s_nop 0
4783 ; PRELOAD-8-NEXT:    s_nop 0
4784 ; PRELOAD-8-NEXT:    s_nop 0
4785 ; PRELOAD-8-NEXT:    s_nop 0
4786 ; PRELOAD-8-NEXT:    s_nop 0
4787 ; PRELOAD-8-NEXT:    s_nop 0
4788 ; PRELOAD-8-NEXT:    s_nop 0
4789 ; PRELOAD-8-NEXT:    s_nop 0
4790 ; PRELOAD-8-NEXT:    s_nop 0
4791 ; PRELOAD-8-NEXT:    s_nop 0
4792 ; PRELOAD-8-NEXT:    s_nop 0
4793 ; PRELOAD-8-NEXT:    s_nop 0
4794 ; PRELOAD-8-NEXT:    s_nop 0
4795 ; PRELOAD-8-NEXT:    s_nop 0
4796 ; PRELOAD-8-NEXT:    s_nop 0
4797 ; PRELOAD-8-NEXT:    s_nop 0
4798 ; PRELOAD-8-NEXT:  ; %bb.0:
4799 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s5, 8
4800 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4801 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s5, 24
4802 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v1, 8, s0
4803 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s5, 16
4804 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, s5, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4805 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v1, s0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4806 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 8
4807 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v1, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4808 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v0, 8, s0
4809 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 24
4810 ; PRELOAD-8-NEXT:    v_lshlrev_b16_e64 v2, 8, s0
4811 ; PRELOAD-8-NEXT:    s_lshr_b32 s0, s4, 16
4812 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, s4, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4813 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v2, s0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
4814 ; PRELOAD-8-NEXT:    s_nop 0
4815 ; PRELOAD-8-NEXT:    v_or_b32_sdwa v0, v0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
4816 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, 0
4817 ; PRELOAD-8-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4818 ; PRELOAD-8-NEXT:    s_endpgm
4819   store <8 x i8> %in, ptr addrspace(1) %out
4820   ret void
4823 define amdgpu_kernel void @i64_kernel_preload_arg(ptr addrspace(1) %out, i64 %a) {
4824 ; NO-PRELOAD-LABEL: i64_kernel_preload_arg:
4825 ; NO-PRELOAD:       ; %bb.0:
4826 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[0:3], s[0:1], 0x0
4827 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, 0
4828 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
4829 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s2
4830 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s3
4831 ; NO-PRELOAD-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1] sc0 sc1
4832 ; NO-PRELOAD-NEXT:    s_endpgm
4834 ; PRELOAD-1-LABEL: i64_kernel_preload_arg:
4835 ; PRELOAD-1:         s_nop 0
4836 ; PRELOAD-1-NEXT:    s_nop 0
4837 ; PRELOAD-1-NEXT:    s_nop 0
4838 ; PRELOAD-1-NEXT:    s_nop 0
4839 ; PRELOAD-1-NEXT:    s_nop 0
4840 ; PRELOAD-1-NEXT:    s_nop 0
4841 ; PRELOAD-1-NEXT:    s_nop 0
4842 ; PRELOAD-1-NEXT:    s_nop 0
4843 ; PRELOAD-1-NEXT:    s_nop 0
4844 ; PRELOAD-1-NEXT:    s_nop 0
4845 ; PRELOAD-1-NEXT:    s_nop 0
4846 ; PRELOAD-1-NEXT:    s_nop 0
4847 ; PRELOAD-1-NEXT:    s_nop 0
4848 ; PRELOAD-1-NEXT:    s_nop 0
4849 ; PRELOAD-1-NEXT:    s_nop 0
4850 ; PRELOAD-1-NEXT:    s_nop 0
4851 ; PRELOAD-1-NEXT:    s_nop 0
4852 ; PRELOAD-1-NEXT:    s_nop 0
4853 ; PRELOAD-1-NEXT:    s_nop 0
4854 ; PRELOAD-1-NEXT:    s_nop 0
4855 ; PRELOAD-1-NEXT:    s_nop 0
4856 ; PRELOAD-1-NEXT:    s_nop 0
4857 ; PRELOAD-1-NEXT:    s_nop 0
4858 ; PRELOAD-1-NEXT:    s_nop 0
4859 ; PRELOAD-1-NEXT:    s_nop 0
4860 ; PRELOAD-1-NEXT:    s_nop 0
4861 ; PRELOAD-1-NEXT:    s_nop 0
4862 ; PRELOAD-1-NEXT:    s_nop 0
4863 ; PRELOAD-1-NEXT:    s_nop 0
4864 ; PRELOAD-1-NEXT:    s_nop 0
4865 ; PRELOAD-1-NEXT:    s_nop 0
4866 ; PRELOAD-1-NEXT:    s_nop 0
4867 ; PRELOAD-1-NEXT:    s_nop 0
4868 ; PRELOAD-1-NEXT:    s_nop 0
4869 ; PRELOAD-1-NEXT:    s_nop 0
4870 ; PRELOAD-1-NEXT:    s_nop 0
4871 ; PRELOAD-1-NEXT:    s_nop 0
4872 ; PRELOAD-1-NEXT:    s_nop 0
4873 ; PRELOAD-1-NEXT:    s_nop 0
4874 ; PRELOAD-1-NEXT:    s_nop 0
4875 ; PRELOAD-1-NEXT:    s_nop 0
4876 ; PRELOAD-1-NEXT:    s_nop 0
4877 ; PRELOAD-1-NEXT:    s_nop 0
4878 ; PRELOAD-1-NEXT:    s_nop 0
4879 ; PRELOAD-1-NEXT:    s_nop 0
4880 ; PRELOAD-1-NEXT:    s_nop 0
4881 ; PRELOAD-1-NEXT:    s_nop 0
4882 ; PRELOAD-1-NEXT:    s_nop 0
4883 ; PRELOAD-1-NEXT:    s_nop 0
4884 ; PRELOAD-1-NEXT:    s_nop 0
4885 ; PRELOAD-1-NEXT:    s_nop 0
4886 ; PRELOAD-1-NEXT:    s_nop 0
4887 ; PRELOAD-1-NEXT:    s_nop 0
4888 ; PRELOAD-1-NEXT:    s_nop 0
4889 ; PRELOAD-1-NEXT:    s_nop 0
4890 ; PRELOAD-1-NEXT:    s_nop 0
4891 ; PRELOAD-1-NEXT:    s_nop 0
4892 ; PRELOAD-1-NEXT:    s_nop 0
4893 ; PRELOAD-1-NEXT:    s_nop 0
4894 ; PRELOAD-1-NEXT:    s_nop 0
4895 ; PRELOAD-1-NEXT:    s_nop 0
4896 ; PRELOAD-1-NEXT:    s_nop 0
4897 ; PRELOAD-1-NEXT:    s_nop 0
4898 ; PRELOAD-1-NEXT:    s_nop 0
4899 ; PRELOAD-1-NEXT:  ; %bb.0:
4900 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x8
4901 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, 0
4902 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
4903 ; PRELOAD-1-NEXT:    v_mov_b64_e32 v[0:1], s[0:1]
4904 ; PRELOAD-1-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4905 ; PRELOAD-1-NEXT:    s_endpgm
4907 ; PRELOAD-2-LABEL: i64_kernel_preload_arg:
4908 ; PRELOAD-2:         s_nop 0
4909 ; PRELOAD-2-NEXT:    s_nop 0
4910 ; PRELOAD-2-NEXT:    s_nop 0
4911 ; PRELOAD-2-NEXT:    s_nop 0
4912 ; PRELOAD-2-NEXT:    s_nop 0
4913 ; PRELOAD-2-NEXT:    s_nop 0
4914 ; PRELOAD-2-NEXT:    s_nop 0
4915 ; PRELOAD-2-NEXT:    s_nop 0
4916 ; PRELOAD-2-NEXT:    s_nop 0
4917 ; PRELOAD-2-NEXT:    s_nop 0
4918 ; PRELOAD-2-NEXT:    s_nop 0
4919 ; PRELOAD-2-NEXT:    s_nop 0
4920 ; PRELOAD-2-NEXT:    s_nop 0
4921 ; PRELOAD-2-NEXT:    s_nop 0
4922 ; PRELOAD-2-NEXT:    s_nop 0
4923 ; PRELOAD-2-NEXT:    s_nop 0
4924 ; PRELOAD-2-NEXT:    s_nop 0
4925 ; PRELOAD-2-NEXT:    s_nop 0
4926 ; PRELOAD-2-NEXT:    s_nop 0
4927 ; PRELOAD-2-NEXT:    s_nop 0
4928 ; PRELOAD-2-NEXT:    s_nop 0
4929 ; PRELOAD-2-NEXT:    s_nop 0
4930 ; PRELOAD-2-NEXT:    s_nop 0
4931 ; PRELOAD-2-NEXT:    s_nop 0
4932 ; PRELOAD-2-NEXT:    s_nop 0
4933 ; PRELOAD-2-NEXT:    s_nop 0
4934 ; PRELOAD-2-NEXT:    s_nop 0
4935 ; PRELOAD-2-NEXT:    s_nop 0
4936 ; PRELOAD-2-NEXT:    s_nop 0
4937 ; PRELOAD-2-NEXT:    s_nop 0
4938 ; PRELOAD-2-NEXT:    s_nop 0
4939 ; PRELOAD-2-NEXT:    s_nop 0
4940 ; PRELOAD-2-NEXT:    s_nop 0
4941 ; PRELOAD-2-NEXT:    s_nop 0
4942 ; PRELOAD-2-NEXT:    s_nop 0
4943 ; PRELOAD-2-NEXT:    s_nop 0
4944 ; PRELOAD-2-NEXT:    s_nop 0
4945 ; PRELOAD-2-NEXT:    s_nop 0
4946 ; PRELOAD-2-NEXT:    s_nop 0
4947 ; PRELOAD-2-NEXT:    s_nop 0
4948 ; PRELOAD-2-NEXT:    s_nop 0
4949 ; PRELOAD-2-NEXT:    s_nop 0
4950 ; PRELOAD-2-NEXT:    s_nop 0
4951 ; PRELOAD-2-NEXT:    s_nop 0
4952 ; PRELOAD-2-NEXT:    s_nop 0
4953 ; PRELOAD-2-NEXT:    s_nop 0
4954 ; PRELOAD-2-NEXT:    s_nop 0
4955 ; PRELOAD-2-NEXT:    s_nop 0
4956 ; PRELOAD-2-NEXT:    s_nop 0
4957 ; PRELOAD-2-NEXT:    s_nop 0
4958 ; PRELOAD-2-NEXT:    s_nop 0
4959 ; PRELOAD-2-NEXT:    s_nop 0
4960 ; PRELOAD-2-NEXT:    s_nop 0
4961 ; PRELOAD-2-NEXT:    s_nop 0
4962 ; PRELOAD-2-NEXT:    s_nop 0
4963 ; PRELOAD-2-NEXT:    s_nop 0
4964 ; PRELOAD-2-NEXT:    s_nop 0
4965 ; PRELOAD-2-NEXT:    s_nop 0
4966 ; PRELOAD-2-NEXT:    s_nop 0
4967 ; PRELOAD-2-NEXT:    s_nop 0
4968 ; PRELOAD-2-NEXT:    s_nop 0
4969 ; PRELOAD-2-NEXT:    s_nop 0
4970 ; PRELOAD-2-NEXT:    s_nop 0
4971 ; PRELOAD-2-NEXT:    s_nop 0
4972 ; PRELOAD-2-NEXT:  ; %bb.0:
4973 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, 0
4974 ; PRELOAD-2-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
4975 ; PRELOAD-2-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
4976 ; PRELOAD-2-NEXT:    s_endpgm
4978 ; PRELOAD-4-LABEL: i64_kernel_preload_arg:
4979 ; PRELOAD-4:         s_nop 0
4980 ; PRELOAD-4-NEXT:    s_nop 0
4981 ; PRELOAD-4-NEXT:    s_nop 0
4982 ; PRELOAD-4-NEXT:    s_nop 0
4983 ; PRELOAD-4-NEXT:    s_nop 0
4984 ; PRELOAD-4-NEXT:    s_nop 0
4985 ; PRELOAD-4-NEXT:    s_nop 0
4986 ; PRELOAD-4-NEXT:    s_nop 0
4987 ; PRELOAD-4-NEXT:    s_nop 0
4988 ; PRELOAD-4-NEXT:    s_nop 0
4989 ; PRELOAD-4-NEXT:    s_nop 0
4990 ; PRELOAD-4-NEXT:    s_nop 0
4991 ; PRELOAD-4-NEXT:    s_nop 0
4992 ; PRELOAD-4-NEXT:    s_nop 0
4993 ; PRELOAD-4-NEXT:    s_nop 0
4994 ; PRELOAD-4-NEXT:    s_nop 0
4995 ; PRELOAD-4-NEXT:    s_nop 0
4996 ; PRELOAD-4-NEXT:    s_nop 0
4997 ; PRELOAD-4-NEXT:    s_nop 0
4998 ; PRELOAD-4-NEXT:    s_nop 0
4999 ; PRELOAD-4-NEXT:    s_nop 0
5000 ; PRELOAD-4-NEXT:    s_nop 0
5001 ; PRELOAD-4-NEXT:    s_nop 0
5002 ; PRELOAD-4-NEXT:    s_nop 0
5003 ; PRELOAD-4-NEXT:    s_nop 0
5004 ; PRELOAD-4-NEXT:    s_nop 0
5005 ; PRELOAD-4-NEXT:    s_nop 0
5006 ; PRELOAD-4-NEXT:    s_nop 0
5007 ; PRELOAD-4-NEXT:    s_nop 0
5008 ; PRELOAD-4-NEXT:    s_nop 0
5009 ; PRELOAD-4-NEXT:    s_nop 0
5010 ; PRELOAD-4-NEXT:    s_nop 0
5011 ; PRELOAD-4-NEXT:    s_nop 0
5012 ; PRELOAD-4-NEXT:    s_nop 0
5013 ; PRELOAD-4-NEXT:    s_nop 0
5014 ; PRELOAD-4-NEXT:    s_nop 0
5015 ; PRELOAD-4-NEXT:    s_nop 0
5016 ; PRELOAD-4-NEXT:    s_nop 0
5017 ; PRELOAD-4-NEXT:    s_nop 0
5018 ; PRELOAD-4-NEXT:    s_nop 0
5019 ; PRELOAD-4-NEXT:    s_nop 0
5020 ; PRELOAD-4-NEXT:    s_nop 0
5021 ; PRELOAD-4-NEXT:    s_nop 0
5022 ; PRELOAD-4-NEXT:    s_nop 0
5023 ; PRELOAD-4-NEXT:    s_nop 0
5024 ; PRELOAD-4-NEXT:    s_nop 0
5025 ; PRELOAD-4-NEXT:    s_nop 0
5026 ; PRELOAD-4-NEXT:    s_nop 0
5027 ; PRELOAD-4-NEXT:    s_nop 0
5028 ; PRELOAD-4-NEXT:    s_nop 0
5029 ; PRELOAD-4-NEXT:    s_nop 0
5030 ; PRELOAD-4-NEXT:    s_nop 0
5031 ; PRELOAD-4-NEXT:    s_nop 0
5032 ; PRELOAD-4-NEXT:    s_nop 0
5033 ; PRELOAD-4-NEXT:    s_nop 0
5034 ; PRELOAD-4-NEXT:    s_nop 0
5035 ; PRELOAD-4-NEXT:    s_nop 0
5036 ; PRELOAD-4-NEXT:    s_nop 0
5037 ; PRELOAD-4-NEXT:    s_nop 0
5038 ; PRELOAD-4-NEXT:    s_nop 0
5039 ; PRELOAD-4-NEXT:    s_nop 0
5040 ; PRELOAD-4-NEXT:    s_nop 0
5041 ; PRELOAD-4-NEXT:    s_nop 0
5042 ; PRELOAD-4-NEXT:    s_nop 0
5043 ; PRELOAD-4-NEXT:  ; %bb.0:
5044 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, 0
5045 ; PRELOAD-4-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
5046 ; PRELOAD-4-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5047 ; PRELOAD-4-NEXT:    s_endpgm
5049 ; PRELOAD-8-LABEL: i64_kernel_preload_arg:
5050 ; PRELOAD-8:         s_nop 0
5051 ; PRELOAD-8-NEXT:    s_nop 0
5052 ; PRELOAD-8-NEXT:    s_nop 0
5053 ; PRELOAD-8-NEXT:    s_nop 0
5054 ; PRELOAD-8-NEXT:    s_nop 0
5055 ; PRELOAD-8-NEXT:    s_nop 0
5056 ; PRELOAD-8-NEXT:    s_nop 0
5057 ; PRELOAD-8-NEXT:    s_nop 0
5058 ; PRELOAD-8-NEXT:    s_nop 0
5059 ; PRELOAD-8-NEXT:    s_nop 0
5060 ; PRELOAD-8-NEXT:    s_nop 0
5061 ; PRELOAD-8-NEXT:    s_nop 0
5062 ; PRELOAD-8-NEXT:    s_nop 0
5063 ; PRELOAD-8-NEXT:    s_nop 0
5064 ; PRELOAD-8-NEXT:    s_nop 0
5065 ; PRELOAD-8-NEXT:    s_nop 0
5066 ; PRELOAD-8-NEXT:    s_nop 0
5067 ; PRELOAD-8-NEXT:    s_nop 0
5068 ; PRELOAD-8-NEXT:    s_nop 0
5069 ; PRELOAD-8-NEXT:    s_nop 0
5070 ; PRELOAD-8-NEXT:    s_nop 0
5071 ; PRELOAD-8-NEXT:    s_nop 0
5072 ; PRELOAD-8-NEXT:    s_nop 0
5073 ; PRELOAD-8-NEXT:    s_nop 0
5074 ; PRELOAD-8-NEXT:    s_nop 0
5075 ; PRELOAD-8-NEXT:    s_nop 0
5076 ; PRELOAD-8-NEXT:    s_nop 0
5077 ; PRELOAD-8-NEXT:    s_nop 0
5078 ; PRELOAD-8-NEXT:    s_nop 0
5079 ; PRELOAD-8-NEXT:    s_nop 0
5080 ; PRELOAD-8-NEXT:    s_nop 0
5081 ; PRELOAD-8-NEXT:    s_nop 0
5082 ; PRELOAD-8-NEXT:    s_nop 0
5083 ; PRELOAD-8-NEXT:    s_nop 0
5084 ; PRELOAD-8-NEXT:    s_nop 0
5085 ; PRELOAD-8-NEXT:    s_nop 0
5086 ; PRELOAD-8-NEXT:    s_nop 0
5087 ; PRELOAD-8-NEXT:    s_nop 0
5088 ; PRELOAD-8-NEXT:    s_nop 0
5089 ; PRELOAD-8-NEXT:    s_nop 0
5090 ; PRELOAD-8-NEXT:    s_nop 0
5091 ; PRELOAD-8-NEXT:    s_nop 0
5092 ; PRELOAD-8-NEXT:    s_nop 0
5093 ; PRELOAD-8-NEXT:    s_nop 0
5094 ; PRELOAD-8-NEXT:    s_nop 0
5095 ; PRELOAD-8-NEXT:    s_nop 0
5096 ; PRELOAD-8-NEXT:    s_nop 0
5097 ; PRELOAD-8-NEXT:    s_nop 0
5098 ; PRELOAD-8-NEXT:    s_nop 0
5099 ; PRELOAD-8-NEXT:    s_nop 0
5100 ; PRELOAD-8-NEXT:    s_nop 0
5101 ; PRELOAD-8-NEXT:    s_nop 0
5102 ; PRELOAD-8-NEXT:    s_nop 0
5103 ; PRELOAD-8-NEXT:    s_nop 0
5104 ; PRELOAD-8-NEXT:    s_nop 0
5105 ; PRELOAD-8-NEXT:    s_nop 0
5106 ; PRELOAD-8-NEXT:    s_nop 0
5107 ; PRELOAD-8-NEXT:    s_nop 0
5108 ; PRELOAD-8-NEXT:    s_nop 0
5109 ; PRELOAD-8-NEXT:    s_nop 0
5110 ; PRELOAD-8-NEXT:    s_nop 0
5111 ; PRELOAD-8-NEXT:    s_nop 0
5112 ; PRELOAD-8-NEXT:    s_nop 0
5113 ; PRELOAD-8-NEXT:    s_nop 0
5114 ; PRELOAD-8-NEXT:  ; %bb.0:
5115 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, 0
5116 ; PRELOAD-8-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
5117 ; PRELOAD-8-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5118 ; PRELOAD-8-NEXT:    s_endpgm
5119   store i64 %a, ptr addrspace(1) %out, align 8
5120   ret void
5123 define amdgpu_kernel void @f64_kernel_preload_arg(ptr addrspace(1) %out, double %in) {
5124 ; NO-PRELOAD-LABEL: f64_kernel_preload_arg:
5125 ; NO-PRELOAD:       ; %bb.0:
5126 ; NO-PRELOAD-NEXT:    s_load_dwordx4 s[0:3], s[0:1], 0x0
5127 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v2, 0
5128 ; NO-PRELOAD-NEXT:    s_waitcnt lgkmcnt(0)
5129 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v0, s2
5130 ; NO-PRELOAD-NEXT:    v_mov_b32_e32 v1, s3
5131 ; NO-PRELOAD-NEXT:    global_store_dwordx2 v2, v[0:1], s[0:1] sc0 sc1
5132 ; NO-PRELOAD-NEXT:    s_endpgm
5134 ; PRELOAD-1-LABEL: f64_kernel_preload_arg:
5135 ; PRELOAD-1:         s_nop 0
5136 ; PRELOAD-1-NEXT:    s_nop 0
5137 ; PRELOAD-1-NEXT:    s_nop 0
5138 ; PRELOAD-1-NEXT:    s_nop 0
5139 ; PRELOAD-1-NEXT:    s_nop 0
5140 ; PRELOAD-1-NEXT:    s_nop 0
5141 ; PRELOAD-1-NEXT:    s_nop 0
5142 ; PRELOAD-1-NEXT:    s_nop 0
5143 ; PRELOAD-1-NEXT:    s_nop 0
5144 ; PRELOAD-1-NEXT:    s_nop 0
5145 ; PRELOAD-1-NEXT:    s_nop 0
5146 ; PRELOAD-1-NEXT:    s_nop 0
5147 ; PRELOAD-1-NEXT:    s_nop 0
5148 ; PRELOAD-1-NEXT:    s_nop 0
5149 ; PRELOAD-1-NEXT:    s_nop 0
5150 ; PRELOAD-1-NEXT:    s_nop 0
5151 ; PRELOAD-1-NEXT:    s_nop 0
5152 ; PRELOAD-1-NEXT:    s_nop 0
5153 ; PRELOAD-1-NEXT:    s_nop 0
5154 ; PRELOAD-1-NEXT:    s_nop 0
5155 ; PRELOAD-1-NEXT:    s_nop 0
5156 ; PRELOAD-1-NEXT:    s_nop 0
5157 ; PRELOAD-1-NEXT:    s_nop 0
5158 ; PRELOAD-1-NEXT:    s_nop 0
5159 ; PRELOAD-1-NEXT:    s_nop 0
5160 ; PRELOAD-1-NEXT:    s_nop 0
5161 ; PRELOAD-1-NEXT:    s_nop 0
5162 ; PRELOAD-1-NEXT:    s_nop 0
5163 ; PRELOAD-1-NEXT:    s_nop 0
5164 ; PRELOAD-1-NEXT:    s_nop 0
5165 ; PRELOAD-1-NEXT:    s_nop 0
5166 ; PRELOAD-1-NEXT:    s_nop 0
5167 ; PRELOAD-1-NEXT:    s_nop 0
5168 ; PRELOAD-1-NEXT:    s_nop 0
5169 ; PRELOAD-1-NEXT:    s_nop 0
5170 ; PRELOAD-1-NEXT:    s_nop 0
5171 ; PRELOAD-1-NEXT:    s_nop 0
5172 ; PRELOAD-1-NEXT:    s_nop 0
5173 ; PRELOAD-1-NEXT:    s_nop 0
5174 ; PRELOAD-1-NEXT:    s_nop 0
5175 ; PRELOAD-1-NEXT:    s_nop 0
5176 ; PRELOAD-1-NEXT:    s_nop 0
5177 ; PRELOAD-1-NEXT:    s_nop 0
5178 ; PRELOAD-1-NEXT:    s_nop 0
5179 ; PRELOAD-1-NEXT:    s_nop 0
5180 ; PRELOAD-1-NEXT:    s_nop 0
5181 ; PRELOAD-1-NEXT:    s_nop 0
5182 ; PRELOAD-1-NEXT:    s_nop 0
5183 ; PRELOAD-1-NEXT:    s_nop 0
5184 ; PRELOAD-1-NEXT:    s_nop 0
5185 ; PRELOAD-1-NEXT:    s_nop 0
5186 ; PRELOAD-1-NEXT:    s_nop 0
5187 ; PRELOAD-1-NEXT:    s_nop 0
5188 ; PRELOAD-1-NEXT:    s_nop 0
5189 ; PRELOAD-1-NEXT:    s_nop 0
5190 ; PRELOAD-1-NEXT:    s_nop 0
5191 ; PRELOAD-1-NEXT:    s_nop 0
5192 ; PRELOAD-1-NEXT:    s_nop 0
5193 ; PRELOAD-1-NEXT:    s_nop 0
5194 ; PRELOAD-1-NEXT:    s_nop 0
5195 ; PRELOAD-1-NEXT:    s_nop 0
5196 ; PRELOAD-1-NEXT:    s_nop 0
5197 ; PRELOAD-1-NEXT:    s_nop 0
5198 ; PRELOAD-1-NEXT:    s_nop 0
5199 ; PRELOAD-1-NEXT:  ; %bb.0:
5200 ; PRELOAD-1-NEXT:    s_load_dwordx2 s[0:1], s[0:1], 0x8
5201 ; PRELOAD-1-NEXT:    v_mov_b32_e32 v2, 0
5202 ; PRELOAD-1-NEXT:    s_waitcnt lgkmcnt(0)
5203 ; PRELOAD-1-NEXT:    v_mov_b64_e32 v[0:1], s[0:1]
5204 ; PRELOAD-1-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5205 ; PRELOAD-1-NEXT:    s_endpgm
5207 ; PRELOAD-2-LABEL: f64_kernel_preload_arg:
5208 ; PRELOAD-2:         s_nop 0
5209 ; PRELOAD-2-NEXT:    s_nop 0
5210 ; PRELOAD-2-NEXT:    s_nop 0
5211 ; PRELOAD-2-NEXT:    s_nop 0
5212 ; PRELOAD-2-NEXT:    s_nop 0
5213 ; PRELOAD-2-NEXT:    s_nop 0
5214 ; PRELOAD-2-NEXT:    s_nop 0
5215 ; PRELOAD-2-NEXT:    s_nop 0
5216 ; PRELOAD-2-NEXT:    s_nop 0
5217 ; PRELOAD-2-NEXT:    s_nop 0
5218 ; PRELOAD-2-NEXT:    s_nop 0
5219 ; PRELOAD-2-NEXT:    s_nop 0
5220 ; PRELOAD-2-NEXT:    s_nop 0
5221 ; PRELOAD-2-NEXT:    s_nop 0
5222 ; PRELOAD-2-NEXT:    s_nop 0
5223 ; PRELOAD-2-NEXT:    s_nop 0
5224 ; PRELOAD-2-NEXT:    s_nop 0
5225 ; PRELOAD-2-NEXT:    s_nop 0
5226 ; PRELOAD-2-NEXT:    s_nop 0
5227 ; PRELOAD-2-NEXT:    s_nop 0
5228 ; PRELOAD-2-NEXT:    s_nop 0
5229 ; PRELOAD-2-NEXT:    s_nop 0
5230 ; PRELOAD-2-NEXT:    s_nop 0
5231 ; PRELOAD-2-NEXT:    s_nop 0
5232 ; PRELOAD-2-NEXT:    s_nop 0
5233 ; PRELOAD-2-NEXT:    s_nop 0
5234 ; PRELOAD-2-NEXT:    s_nop 0
5235 ; PRELOAD-2-NEXT:    s_nop 0
5236 ; PRELOAD-2-NEXT:    s_nop 0
5237 ; PRELOAD-2-NEXT:    s_nop 0
5238 ; PRELOAD-2-NEXT:    s_nop 0
5239 ; PRELOAD-2-NEXT:    s_nop 0
5240 ; PRELOAD-2-NEXT:    s_nop 0
5241 ; PRELOAD-2-NEXT:    s_nop 0
5242 ; PRELOAD-2-NEXT:    s_nop 0
5243 ; PRELOAD-2-NEXT:    s_nop 0
5244 ; PRELOAD-2-NEXT:    s_nop 0
5245 ; PRELOAD-2-NEXT:    s_nop 0
5246 ; PRELOAD-2-NEXT:    s_nop 0
5247 ; PRELOAD-2-NEXT:    s_nop 0
5248 ; PRELOAD-2-NEXT:    s_nop 0
5249 ; PRELOAD-2-NEXT:    s_nop 0
5250 ; PRELOAD-2-NEXT:    s_nop 0
5251 ; PRELOAD-2-NEXT:    s_nop 0
5252 ; PRELOAD-2-NEXT:    s_nop 0
5253 ; PRELOAD-2-NEXT:    s_nop 0
5254 ; PRELOAD-2-NEXT:    s_nop 0
5255 ; PRELOAD-2-NEXT:    s_nop 0
5256 ; PRELOAD-2-NEXT:    s_nop 0
5257 ; PRELOAD-2-NEXT:    s_nop 0
5258 ; PRELOAD-2-NEXT:    s_nop 0
5259 ; PRELOAD-2-NEXT:    s_nop 0
5260 ; PRELOAD-2-NEXT:    s_nop 0
5261 ; PRELOAD-2-NEXT:    s_nop 0
5262 ; PRELOAD-2-NEXT:    s_nop 0
5263 ; PRELOAD-2-NEXT:    s_nop 0
5264 ; PRELOAD-2-NEXT:    s_nop 0
5265 ; PRELOAD-2-NEXT:    s_nop 0
5266 ; PRELOAD-2-NEXT:    s_nop 0
5267 ; PRELOAD-2-NEXT:    s_nop 0
5268 ; PRELOAD-2-NEXT:    s_nop 0
5269 ; PRELOAD-2-NEXT:    s_nop 0
5270 ; PRELOAD-2-NEXT:    s_nop 0
5271 ; PRELOAD-2-NEXT:    s_nop 0
5272 ; PRELOAD-2-NEXT:  ; %bb.0:
5273 ; PRELOAD-2-NEXT:    v_mov_b32_e32 v2, 0
5274 ; PRELOAD-2-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
5275 ; PRELOAD-2-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5276 ; PRELOAD-2-NEXT:    s_endpgm
5278 ; PRELOAD-4-LABEL: f64_kernel_preload_arg:
5279 ; PRELOAD-4:         s_nop 0
5280 ; PRELOAD-4-NEXT:    s_nop 0
5281 ; PRELOAD-4-NEXT:    s_nop 0
5282 ; PRELOAD-4-NEXT:    s_nop 0
5283 ; PRELOAD-4-NEXT:    s_nop 0
5284 ; PRELOAD-4-NEXT:    s_nop 0
5285 ; PRELOAD-4-NEXT:    s_nop 0
5286 ; PRELOAD-4-NEXT:    s_nop 0
5287 ; PRELOAD-4-NEXT:    s_nop 0
5288 ; PRELOAD-4-NEXT:    s_nop 0
5289 ; PRELOAD-4-NEXT:    s_nop 0
5290 ; PRELOAD-4-NEXT:    s_nop 0
5291 ; PRELOAD-4-NEXT:    s_nop 0
5292 ; PRELOAD-4-NEXT:    s_nop 0
5293 ; PRELOAD-4-NEXT:    s_nop 0
5294 ; PRELOAD-4-NEXT:    s_nop 0
5295 ; PRELOAD-4-NEXT:    s_nop 0
5296 ; PRELOAD-4-NEXT:    s_nop 0
5297 ; PRELOAD-4-NEXT:    s_nop 0
5298 ; PRELOAD-4-NEXT:    s_nop 0
5299 ; PRELOAD-4-NEXT:    s_nop 0
5300 ; PRELOAD-4-NEXT:    s_nop 0
5301 ; PRELOAD-4-NEXT:    s_nop 0
5302 ; PRELOAD-4-NEXT:    s_nop 0
5303 ; PRELOAD-4-NEXT:    s_nop 0
5304 ; PRELOAD-4-NEXT:    s_nop 0
5305 ; PRELOAD-4-NEXT:    s_nop 0
5306 ; PRELOAD-4-NEXT:    s_nop 0
5307 ; PRELOAD-4-NEXT:    s_nop 0
5308 ; PRELOAD-4-NEXT:    s_nop 0
5309 ; PRELOAD-4-NEXT:    s_nop 0
5310 ; PRELOAD-4-NEXT:    s_nop 0
5311 ; PRELOAD-4-NEXT:    s_nop 0
5312 ; PRELOAD-4-NEXT:    s_nop 0
5313 ; PRELOAD-4-NEXT:    s_nop 0
5314 ; PRELOAD-4-NEXT:    s_nop 0
5315 ; PRELOAD-4-NEXT:    s_nop 0
5316 ; PRELOAD-4-NEXT:    s_nop 0
5317 ; PRELOAD-4-NEXT:    s_nop 0
5318 ; PRELOAD-4-NEXT:    s_nop 0
5319 ; PRELOAD-4-NEXT:    s_nop 0
5320 ; PRELOAD-4-NEXT:    s_nop 0
5321 ; PRELOAD-4-NEXT:    s_nop 0
5322 ; PRELOAD-4-NEXT:    s_nop 0
5323 ; PRELOAD-4-NEXT:    s_nop 0
5324 ; PRELOAD-4-NEXT:    s_nop 0
5325 ; PRELOAD-4-NEXT:    s_nop 0
5326 ; PRELOAD-4-NEXT:    s_nop 0
5327 ; PRELOAD-4-NEXT:    s_nop 0
5328 ; PRELOAD-4-NEXT:    s_nop 0
5329 ; PRELOAD-4-NEXT:    s_nop 0
5330 ; PRELOAD-4-NEXT:    s_nop 0
5331 ; PRELOAD-4-NEXT:    s_nop 0
5332 ; PRELOAD-4-NEXT:    s_nop 0
5333 ; PRELOAD-4-NEXT:    s_nop 0
5334 ; PRELOAD-4-NEXT:    s_nop 0
5335 ; PRELOAD-4-NEXT:    s_nop 0
5336 ; PRELOAD-4-NEXT:    s_nop 0
5337 ; PRELOAD-4-NEXT:    s_nop 0
5338 ; PRELOAD-4-NEXT:    s_nop 0
5339 ; PRELOAD-4-NEXT:    s_nop 0
5340 ; PRELOAD-4-NEXT:    s_nop 0
5341 ; PRELOAD-4-NEXT:    s_nop 0
5342 ; PRELOAD-4-NEXT:    s_nop 0
5343 ; PRELOAD-4-NEXT:  ; %bb.0:
5344 ; PRELOAD-4-NEXT:    v_mov_b32_e32 v2, 0
5345 ; PRELOAD-4-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
5346 ; PRELOAD-4-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5347 ; PRELOAD-4-NEXT:    s_endpgm
5349 ; PRELOAD-8-LABEL: f64_kernel_preload_arg:
5350 ; PRELOAD-8:         s_nop 0
5351 ; PRELOAD-8-NEXT:    s_nop 0
5352 ; PRELOAD-8-NEXT:    s_nop 0
5353 ; PRELOAD-8-NEXT:    s_nop 0
5354 ; PRELOAD-8-NEXT:    s_nop 0
5355 ; PRELOAD-8-NEXT:    s_nop 0
5356 ; PRELOAD-8-NEXT:    s_nop 0
5357 ; PRELOAD-8-NEXT:    s_nop 0
5358 ; PRELOAD-8-NEXT:    s_nop 0
5359 ; PRELOAD-8-NEXT:    s_nop 0
5360 ; PRELOAD-8-NEXT:    s_nop 0
5361 ; PRELOAD-8-NEXT:    s_nop 0
5362 ; PRELOAD-8-NEXT:    s_nop 0
5363 ; PRELOAD-8-NEXT:    s_nop 0
5364 ; PRELOAD-8-NEXT:    s_nop 0
5365 ; PRELOAD-8-NEXT:    s_nop 0
5366 ; PRELOAD-8-NEXT:    s_nop 0
5367 ; PRELOAD-8-NEXT:    s_nop 0
5368 ; PRELOAD-8-NEXT:    s_nop 0
5369 ; PRELOAD-8-NEXT:    s_nop 0
5370 ; PRELOAD-8-NEXT:    s_nop 0
5371 ; PRELOAD-8-NEXT:    s_nop 0
5372 ; PRELOAD-8-NEXT:    s_nop 0
5373 ; PRELOAD-8-NEXT:    s_nop 0
5374 ; PRELOAD-8-NEXT:    s_nop 0
5375 ; PRELOAD-8-NEXT:    s_nop 0
5376 ; PRELOAD-8-NEXT:    s_nop 0
5377 ; PRELOAD-8-NEXT:    s_nop 0
5378 ; PRELOAD-8-NEXT:    s_nop 0
5379 ; PRELOAD-8-NEXT:    s_nop 0
5380 ; PRELOAD-8-NEXT:    s_nop 0
5381 ; PRELOAD-8-NEXT:    s_nop 0
5382 ; PRELOAD-8-NEXT:    s_nop 0
5383 ; PRELOAD-8-NEXT:    s_nop 0
5384 ; PRELOAD-8-NEXT:    s_nop 0
5385 ; PRELOAD-8-NEXT:    s_nop 0
5386 ; PRELOAD-8-NEXT:    s_nop 0
5387 ; PRELOAD-8-NEXT:    s_nop 0
5388 ; PRELOAD-8-NEXT:    s_nop 0
5389 ; PRELOAD-8-NEXT:    s_nop 0
5390 ; PRELOAD-8-NEXT:    s_nop 0
5391 ; PRELOAD-8-NEXT:    s_nop 0
5392 ; PRELOAD-8-NEXT:    s_nop 0
5393 ; PRELOAD-8-NEXT:    s_nop 0
5394 ; PRELOAD-8-NEXT:    s_nop 0
5395 ; PRELOAD-8-NEXT:    s_nop 0
5396 ; PRELOAD-8-NEXT:    s_nop 0
5397 ; PRELOAD-8-NEXT:    s_nop 0
5398 ; PRELOAD-8-NEXT:    s_nop 0
5399 ; PRELOAD-8-NEXT:    s_nop 0
5400 ; PRELOAD-8-NEXT:    s_nop 0
5401 ; PRELOAD-8-NEXT:    s_nop 0
5402 ; PRELOAD-8-NEXT:    s_nop 0
5403 ; PRELOAD-8-NEXT:    s_nop 0
5404 ; PRELOAD-8-NEXT:    s_nop 0
5405 ; PRELOAD-8-NEXT:    s_nop 0
5406 ; PRELOAD-8-NEXT:    s_nop 0
5407 ; PRELOAD-8-NEXT:    s_nop 0
5408 ; PRELOAD-8-NEXT:    s_nop 0
5409 ; PRELOAD-8-NEXT:    s_nop 0
5410 ; PRELOAD-8-NEXT:    s_nop 0
5411 ; PRELOAD-8-NEXT:    s_nop 0
5412 ; PRELOAD-8-NEXT:    s_nop 0
5413 ; PRELOAD-8-NEXT:    s_nop 0
5414 ; PRELOAD-8-NEXT:  ; %bb.0:
5415 ; PRELOAD-8-NEXT:    v_mov_b32_e32 v2, 0
5416 ; PRELOAD-8-NEXT:    v_mov_b64_e32 v[0:1], s[4:5]
5417 ; PRELOAD-8-NEXT:    global_store_dwordx2 v2, v[0:1], s[2:3] sc0 sc1
5418 ; PRELOAD-8-NEXT:    s_endpgm
5419   store double %in, ptr addrspace(1) %out
5420   ret void