Lines Matching refs:SI
2 …e=amdgcn -mcpu=tahiti -verify-machineinstrs < %s | FileCheck -enable-var-scope --check-prefix=SI %s
6 ; SI-LABEL: widen_i16_constant_load:
7 ; SI: ; %bb.0:
8 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
9 ; SI-NEXT: s_mov_b32 s3, 0xf000
10 ; SI-NEXT: s_mov_b32 s2, -1
11 ; SI-NEXT: s_waitcnt lgkmcnt(0)
12 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
13 ; SI-NEXT: s_mov_b32 s0, 0
14 ; SI-NEXT: s_waitcnt lgkmcnt(0)
15 ; SI-NEXT: s_addk_i32 s1, 0x3e7
16 ; SI-NEXT: s_or_b32 s4, s1, 4
17 ; SI-NEXT: s_mov_b32 s1, s0
18 ; SI-NEXT: v_mov_b32_e32 v0, s4
19 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
20 ; SI-NEXT: s_endpgm
43 ; SI-LABEL: widen_i16_constant_load_zext_i32:
44 ; SI: ; %bb.0:
45 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
46 ; SI-NEXT: s_mov_b32 s3, 0xf000
47 ; SI-NEXT: s_mov_b32 s2, -1
48 ; SI-NEXT: s_waitcnt lgkmcnt(0)
49 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
50 ; SI-NEXT: s_mov_b32 s0, 0
51 ; SI-NEXT: s_waitcnt lgkmcnt(0)
52 ; SI-NEXT: s_and_b32 s1, s1, 0xffff
53 ; SI-NEXT: s_addk_i32 s1, 0x3e7
54 ; SI-NEXT: s_or_b32 s4, s1, 4
55 ; SI-NEXT: s_mov_b32 s1, s0
56 ; SI-NEXT: v_mov_b32_e32 v0, s4
57 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
58 ; SI-NEXT: s_endpgm
83 ; SI-LABEL: widen_i16_constant_load_sext_i32:
84 ; SI: ; %bb.0:
85 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
86 ; SI-NEXT: s_mov_b32 s3, 0xf000
87 ; SI-NEXT: s_mov_b32 s2, -1
88 ; SI-NEXT: s_waitcnt lgkmcnt(0)
89 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
90 ; SI-NEXT: s_mov_b32 s0, 0
91 ; SI-NEXT: s_waitcnt lgkmcnt(0)
92 ; SI-NEXT: s_sext_i32_i16 s1, s1
93 ; SI-NEXT: s_addk_i32 s1, 0x3e7
94 ; SI-NEXT: s_or_b32 s4, s1, 4
95 ; SI-NEXT: s_mov_b32 s1, s0
96 ; SI-NEXT: v_mov_b32_e32 v0, s4
97 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
98 ; SI-NEXT: s_endpgm
123 ; SI-LABEL: widen_i17_constant_load:
124 ; SI: ; %bb.0:
125 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
126 ; SI-NEXT: s_mov_b32 s0, 0
127 ; SI-NEXT: s_mov_b32 s3, 0xf000
128 ; SI-NEXT: s_mov_b32 s2, -1
129 ; SI-NEXT: s_mov_b32 s1, s0
130 ; SI-NEXT: s_waitcnt lgkmcnt(0)
131 ; SI-NEXT: s_load_dword s7, s[4:5], 0x0
132 ; SI-NEXT: s_mov_b32 s4, 2
133 ; SI-NEXT: s_mov_b32 s5, s0
134 ; SI-NEXT: s_mov_b32 s6, s2
135 ; SI-NEXT: s_waitcnt lgkmcnt(0)
136 ; SI-NEXT: s_add_i32 s7, s7, 34
137 ; SI-NEXT: s_or_b32 s7, s7, 4
138 ; SI-NEXT: v_mov_b32_e32 v0, s7
139 ; SI-NEXT: s_bfe_u32 s8, s7, 0x10010
140 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
141 ; SI-NEXT: s_mov_b32 s7, s3
142 ; SI-NEXT: s_waitcnt expcnt(0)
143 ; SI-NEXT: v_mov_b32_e32 v0, s8
144 ; SI-NEXT: buffer_store_byte v0, off, s[4:7], 0
145 ; SI-NEXT: s_endpgm
173 ; SI-LABEL: widen_f16_constant_load:
174 ; SI: ; %bb.0:
175 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
176 ; SI-NEXT: s_mov_b32 s3, 0xf000
177 ; SI-NEXT: s_mov_b32 s2, -1
178 ; SI-NEXT: s_waitcnt lgkmcnt(0)
179 ; SI-NEXT: s_load_dword s0, s[0:1], 0x0
180 ; SI-NEXT: s_waitcnt lgkmcnt(0)
181 ; SI-NEXT: v_cvt_f32_f16_e32 v0, s0
182 ; SI-NEXT: s_mov_b32 s0, 0
183 ; SI-NEXT: s_mov_b32 s1, s0
184 ; SI-NEXT: v_add_f32_e32 v0, 4.0, v0
185 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
186 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
187 ; SI-NEXT: s_endpgm
208 ; SI-LABEL: widen_v2i8_constant_load:
209 ; SI: ; %bb.0:
210 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
211 ; SI-NEXT: s_mov_b32 s3, 0xf000
212 ; SI-NEXT: s_mov_b32 s2, -1
213 ; SI-NEXT: s_waitcnt lgkmcnt(0)
214 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
215 ; SI-NEXT: s_mov_b32 s0, 0
216 ; SI-NEXT: s_waitcnt lgkmcnt(0)
217 ; SI-NEXT: s_and_b32 s4, s1, 0xff00
218 ; SI-NEXT: s_add_i32 s1, s1, 12
219 ; SI-NEXT: s_or_b32 s1, s1, 4
220 ; SI-NEXT: s_and_b32 s1, s1, 0xff
221 ; SI-NEXT: s_or_b32 s1, s4, s1
222 ; SI-NEXT: s_addk_i32 s1, 0x2c00
223 ; SI-NEXT: s_or_b32 s4, s1, 0x300
224 ; SI-NEXT: s_mov_b32 s1, s0
225 ; SI-NEXT: v_mov_b32_e32 v0, s4
226 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
227 ; SI-NEXT: s_endpgm
257 ; SI-LABEL: no_widen_i16_constant_divergent_load:
258 ; SI: ; %bb.0:
259 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
260 ; SI-NEXT: s_mov_b32 s2, 0
261 ; SI-NEXT: s_mov_b32 s3, 0xf000
262 ; SI-NEXT: v_lshlrev_b32_e32 v0, 1, v0
263 ; SI-NEXT: v_mov_b32_e32 v1, 0
264 ; SI-NEXT: s_waitcnt lgkmcnt(0)
265 ; SI-NEXT: buffer_load_ushort v0, v[0:1], s[0:3], 0 addr64
266 ; SI-NEXT: s_mov_b32 s6, -1
267 ; SI-NEXT: s_mov_b32 s4, s2
268 ; SI-NEXT: s_mov_b32 s5, s2
269 ; SI-NEXT: s_mov_b32 s7, s3
270 ; SI-NEXT: s_waitcnt vmcnt(0)
271 ; SI-NEXT: v_add_i32_e32 v0, vcc, 0x3e7, v0
272 ; SI-NEXT: v_or_b32_e32 v0, 4, v0
273 ; SI-NEXT: buffer_store_short v0, off, s[4:7], 0
274 ; SI-NEXT: s_endpgm
303 ; SI-LABEL: widen_i1_constant_load:
304 ; SI: ; %bb.0:
305 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
306 ; SI-NEXT: s_mov_b32 s3, 0xf000
307 ; SI-NEXT: s_mov_b32 s2, -1
308 ; SI-NEXT: s_waitcnt lgkmcnt(0)
309 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
310 ; SI-NEXT: s_mov_b32 s0, 0
311 ; SI-NEXT: s_waitcnt lgkmcnt(0)
312 ; SI-NEXT: s_and_b32 s4, s1, 1
313 ; SI-NEXT: s_mov_b32 s1, s0
314 ; SI-NEXT: v_mov_b32_e32 v0, s4
315 ; SI-NEXT: buffer_store_byte v0, off, s[0:3], 0
316 ; SI-NEXT: s_endpgm
337 ; SI-LABEL: widen_i16_zextload_i64_constant_load:
338 ; SI: ; %bb.0:
339 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
340 ; SI-NEXT: s_mov_b32 s3, 0xf000
341 ; SI-NEXT: s_mov_b32 s2, -1
342 ; SI-NEXT: s_waitcnt lgkmcnt(0)
343 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
344 ; SI-NEXT: s_mov_b32 s0, 0
345 ; SI-NEXT: s_waitcnt lgkmcnt(0)
346 ; SI-NEXT: s_and_b32 s1, s1, 0xffff
347 ; SI-NEXT: s_addk_i32 s1, 0x3e7
348 ; SI-NEXT: s_or_b32 s4, s1, 4
349 ; SI-NEXT: s_mov_b32 s1, s0
350 ; SI-NEXT: v_mov_b32_e32 v0, s4
351 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
352 ; SI-NEXT: s_endpgm
377 ; SI-LABEL: widen_i1_zext_to_i64_constant_load:
378 ; SI: ; %bb.0:
379 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
380 ; SI-NEXT: s_mov_b32 s3, 0xf000
381 ; SI-NEXT: s_mov_b32 s2, -1
382 ; SI-NEXT: s_waitcnt lgkmcnt(0)
383 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
384 ; SI-NEXT: s_mov_b32 s0, 0
385 ; SI-NEXT: s_waitcnt lgkmcnt(0)
386 ; SI-NEXT: s_and_b32 s1, s1, 1
387 ; SI-NEXT: s_add_u32 s4, s1, 0x3e7
388 ; SI-NEXT: s_addc_u32 s5, 0, 0
389 ; SI-NEXT: v_mov_b32_e32 v0, s4
390 ; SI-NEXT: s_mov_b32 s1, s0
391 ; SI-NEXT: v_mov_b32_e32 v1, s5
392 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
393 ; SI-NEXT: s_endpgm
418 ; SI-LABEL: widen_i16_constant32_load:
419 ; SI: ; %bb.0:
420 ; SI-NEXT: s_load_dword s0, s[0:1], 0x9
421 ; SI-NEXT: s_mov_b32 s1, 0
422 ; SI-NEXT: s_mov_b32 s3, 0xf000
423 ; SI-NEXT: s_mov_b32 s2, -1
424 ; SI-NEXT: s_waitcnt lgkmcnt(0)
425 ; SI-NEXT: s_load_dword s0, s[0:1], 0x0
426 ; SI-NEXT: s_waitcnt lgkmcnt(0)
427 ; SI-NEXT: s_addk_i32 s0, 0x3e7
428 ; SI-NEXT: s_or_b32 s4, s0, 4
429 ; SI-NEXT: s_mov_b32 s0, s1
430 ; SI-NEXT: v_mov_b32_e32 v0, s4
431 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
432 ; SI-NEXT: s_endpgm
456 ; SI-LABEL: widen_i16_global_invariant_load:
457 ; SI: ; %bb.0:
458 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
459 ; SI-NEXT: s_mov_b32 s3, 0xf000
460 ; SI-NEXT: s_mov_b32 s2, -1
461 ; SI-NEXT: s_waitcnt lgkmcnt(0)
462 ; SI-NEXT: s_load_dword s1, s[0:1], 0x0
463 ; SI-NEXT: s_mov_b32 s0, 0
464 ; SI-NEXT: s_waitcnt lgkmcnt(0)
465 ; SI-NEXT: s_addk_i32 s1, 0x3e7
466 ; SI-NEXT: s_or_b32 s4, s1, 1
467 ; SI-NEXT: s_mov_b32 s1, s0
468 ; SI-NEXT: v_mov_b32_e32 v0, s4
469 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
470 ; SI-NEXT: s_endpgm