Lines Matching refs:SCRATCH

3 …030 -mattr=+enable-flat-scratch -verify-machineinstrs < %s | FileCheck -check-prefix=GCN-SCRATCH %s
26 ; GCN-SCRATCH-LABEL: vector_clause:
27 ; GCN-SCRATCH: ; %bb.0: ; %bb
28 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x24
29 ; GCN-SCRATCH-NEXT: v_lshlrev_b32_e32 v16, 4, v0
30 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x2c
31 ; GCN-SCRATCH-NEXT: s_waitcnt lgkmcnt(0)
32 ; GCN-SCRATCH-NEXT: s_clause 0x3
33 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[0:3], v16, s[2:3]
34 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[4:7], v16, s[2:3] offset:16
35 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[8:11], v16, s[2:3] offset:32
36 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[12:15], v16, s[2:3] offset:48
37 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(3)
38 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[0:3], s[0:1]
39 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(2)
40 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[4:7], s[0:1] offset:16
41 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(1)
42 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[8:11], s[0:1] offset:32
43 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
44 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[12:15], s[0:1] offset:48
45 ; GCN-SCRATCH-NEXT: s_endpgm
102 ; GCN-SCRATCH-LABEL: scalar_clause:
103 ; GCN-SCRATCH: ; %bb.0: ; %bb
104 ; GCN-SCRATCH-NEXT: s_clause 0x1
105 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x24
106 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[16:17], s[0:1], 0x2c
107 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v16, 0
108 ; GCN-SCRATCH-NEXT: s_waitcnt lgkmcnt(0)
109 ; GCN-SCRATCH-NEXT: s_load_dwordx16 s[0:15], s[2:3], 0x0
110 ; GCN-SCRATCH-NEXT: s_waitcnt lgkmcnt(0)
111 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v0, s0
112 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v1, s1
113 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v2, s2
114 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v3, s3
115 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v4, s4
116 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v5, s5
117 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v6, s6
118 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v7, s7
119 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v8, s8
120 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v9, s9
121 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v10, s10
122 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v11, s11
123 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v12, s12
124 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v13, s13
125 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v14, s14
126 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v15, s15
127 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[0:3], s[16:17]
128 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[4:7], s[16:17] offset:16
129 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[8:11], s[16:17] offset:32
130 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v16, v[12:15], s[16:17] offset:48
131 ; GCN-SCRATCH-NEXT: s_endpgm
210 ; GCN-SCRATCH-LABEL: mubuf_clause:
211 ; GCN-SCRATCH: ; %bb.0: ; %bb
212 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
213 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
214 ; GCN-SCRATCH-NEXT: v_lshlrev_b32_e32 v2, 4, v31
215 ; GCN-SCRATCH-NEXT: v_and_b32_e32 v18, 0x3ff0, v2
216 ; GCN-SCRATCH-NEXT: v_add_nc_u32_e32 v0, v0, v18
217 ; GCN-SCRATCH-NEXT: s_clause 0x3
218 ; GCN-SCRATCH-NEXT: scratch_load_dwordx4 v[2:5], v0, off
219 ; GCN-SCRATCH-NEXT: scratch_load_dwordx4 v[6:9], v0, off offset:16
220 ; GCN-SCRATCH-NEXT: scratch_load_dwordx4 v[10:13], v0, off offset:32
221 ; GCN-SCRATCH-NEXT: scratch_load_dwordx4 v[14:17], v0, off offset:48
222 ; GCN-SCRATCH-NEXT: v_add_nc_u32_e32 v0, v1, v18
223 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(3)
224 ; GCN-SCRATCH-NEXT: scratch_store_dwordx4 v0, v[2:5], off
225 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(2)
226 ; GCN-SCRATCH-NEXT: scratch_store_dwordx4 v0, v[6:9], off offset:16
227 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(1)
228 ; GCN-SCRATCH-NEXT: scratch_store_dwordx4 v0, v[10:13], off offset:32
229 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
230 ; GCN-SCRATCH-NEXT: scratch_store_dwordx4 v0, v[14:17], off offset:48
231 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
232 ; GCN-SCRATCH-NEXT: s_setpc_b64 s[30:31]
275 ; GCN-SCRATCH-LABEL: vector_clause_indirect:
276 ; GCN-SCRATCH: ; %bb.0: ; %bb
277 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x24
278 ; GCN-SCRATCH-NEXT: v_lshlrev_b32_e32 v0, 3, v0
279 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x34
280 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v8, 0
281 ; GCN-SCRATCH-NEXT: s_waitcnt lgkmcnt(0)
282 ; GCN-SCRATCH-NEXT: global_load_dwordx2 v[4:5], v0, s[2:3]
283 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
284 ; GCN-SCRATCH-NEXT: s_clause 0x1
285 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[0:3], v[4:5], off
286 ; GCN-SCRATCH-NEXT: global_load_dwordx4 v[4:7], v[4:5], off offset:16
287 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(1)
288 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v8, v[0:3], s[0:1]
289 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
290 ; GCN-SCRATCH-NEXT: global_store_dwordx4 v8, v[4:7], s[0:1] offset:16
291 ; GCN-SCRATCH-NEXT: s_endpgm
322 ; GCN-SCRATCH-LABEL: load_global_d16_hi:
323 ; GCN-SCRATCH: ; %bb.0: ; %entry
324 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
325 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
326 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v5, v2
327 ; GCN-SCRATCH-NEXT: s_clause 0x1
328 ; GCN-SCRATCH-NEXT: global_load_short_d16_hi v5, v[0:1], off
329 ; GCN-SCRATCH-NEXT: global_load_short_d16_hi v2, v[0:1], off offset:64
330 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(1)
331 ; GCN-SCRATCH-NEXT: global_store_dword v[3:4], v5, off
332 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
333 ; GCN-SCRATCH-NEXT: global_store_dword v[3:4], v2, off offset:128
334 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
335 ; GCN-SCRATCH-NEXT: s_setpc_b64 s[30:31]
365 ; GCN-SCRATCH-LABEL: load_global_d16_lo:
366 ; GCN-SCRATCH: ; %bb.0: ; %entry
367 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
368 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
369 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v5, v2
370 ; GCN-SCRATCH-NEXT: s_clause 0x1
371 ; GCN-SCRATCH-NEXT: global_load_short_d16 v5, v[0:1], off
372 ; GCN-SCRATCH-NEXT: global_load_short_d16 v2, v[0:1], off offset:64
373 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(1)
374 ; GCN-SCRATCH-NEXT: global_store_dword v[3:4], v5, off
375 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
376 ; GCN-SCRATCH-NEXT: global_store_dword v[3:4], v2, off offset:128
377 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
378 ; GCN-SCRATCH-NEXT: s_setpc_b64 s[30:31]
424 ; GCN-SCRATCH-LABEL: flat_scratch_load:
425 ; GCN-SCRATCH: ; %bb.0: ; %.entry
426 ; GCN-SCRATCH-NEXT: s_add_u32 s2, s2, s5
427 ; GCN-SCRATCH-NEXT: s_addc_u32 s3, s3, 0
428 ; GCN-SCRATCH-NEXT: s_setreg_b32 hwreg(HW_REG_FLAT_SCR_LO), s2
429 ; GCN-SCRATCH-NEXT: s_setreg_b32 hwreg(HW_REG_FLAT_SCR_HI), s3
430 ; GCN-SCRATCH-NEXT: s_clause 0x1
431 ; GCN-SCRATCH-NEXT: s_load_dwordx2 s[10:11], s[0:1], 0x24
432 ; GCN-SCRATCH-NEXT: s_load_dwordx8 s[0:7], s[0:1], 0x44
433 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v0, 0x40b00000
434 ; GCN-SCRATCH-NEXT: s_brev_b32 s8, 1
435 ; GCN-SCRATCH-NEXT: s_mov_b32 s9, s8
436 ; GCN-SCRATCH-NEXT: scratch_store_dword off, v0, off offset:4
437 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
438 ; GCN-SCRATCH-NEXT: ;;#ASMSTART
439 ; GCN-SCRATCH-NEXT: ;;#ASMEND
440 ; GCN-SCRATCH-NEXT: scratch_load_dword v2, off, off offset:4
441 ; GCN-SCRATCH-NEXT: s_waitcnt lgkmcnt(0)
442 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v0, s10
443 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v1, s11
444 ; GCN-SCRATCH-NEXT: s_mov_b32 s11, 0
445 ; GCN-SCRATCH-NEXT: s_mov_b32 s10, s8
446 ; GCN-SCRATCH-NEXT: image_sample v0, v[0:1], s[0:7], s[8:11] dmask:0x1 dim:SQ_RSRC_IMG_2D
447 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
448 ; GCN-SCRATCH-NEXT: v_add_f32_e32 v0, v2, v0
449 ; GCN-SCRATCH-NEXT: exp mrt0 v0, off, off, off done vm
450 ; GCN-SCRATCH-NEXT: s_endpgm
489 ; GCN-SCRATCH-LABEL: flat_scratch_load_clause:
490 ; GCN-SCRATCH: ; %bb.0: ; %.entry
491 ; GCN-SCRATCH-NEXT: s_add_u32 s2, s2, s5
492 ; GCN-SCRATCH-NEXT: s_addc_u32 s3, s3, 0
493 ; GCN-SCRATCH-NEXT: s_setreg_b32 hwreg(HW_REG_FLAT_SCR_LO), s2
494 ; GCN-SCRATCH-NEXT: s_setreg_b32 hwreg(HW_REG_FLAT_SCR_HI), s3
495 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v0, 0x40b00000
496 ; GCN-SCRATCH-NEXT: v_mov_b32_e32 v1, 0x40d00000
497 ; GCN-SCRATCH-NEXT: scratch_store_dword off, v0, off offset:4
498 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
499 ; GCN-SCRATCH-NEXT: scratch_store_dword off, v1, off offset:8
500 ; GCN-SCRATCH-NEXT: s_waitcnt_vscnt null, 0x0
501 ; GCN-SCRATCH-NEXT: ;;#ASMSTART
502 ; GCN-SCRATCH-NEXT: ;;#ASMEND
503 ; GCN-SCRATCH-NEXT: s_clause 0x1
504 ; GCN-SCRATCH-NEXT: scratch_load_dword v0, off, off offset:4
505 ; GCN-SCRATCH-NEXT: scratch_load_dword v1, off, off offset:8
506 ; GCN-SCRATCH-NEXT: s_waitcnt vmcnt(0)
507 ; GCN-SCRATCH-NEXT: v_add_f32_e32 v0, v0, v1
508 ; GCN-SCRATCH-NEXT: exp mrt0 v0, off, off, off done vm
509 ; GCN-SCRATCH-NEXT: s_endpgm