Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Show First 20 Lines • Show All 232 Lines • ▼ Show 20 Lines | |||||
; MUBUF-NEXT: s_add_i32 s6, s32, 0x1000 | ; MUBUF-NEXT: s_add_i32 s6, s32, 0x1000 | ||||
; MUBUF-NEXT: v_mov_b32_e32 v2, 0 | ; MUBUF-NEXT: v_mov_b32_e32 v2, 0 | ||||
; MUBUF-NEXT: v_mov_b32_e32 v3, s6 | ; MUBUF-NEXT: v_mov_b32_e32 v3, s6 | ||||
; MUBUF-NEXT: buffer_store_dword v2, v3, s[0:3], 0 offen | ; MUBUF-NEXT: buffer_store_dword v2, v3, s[0:3], 0 offen | ||||
; MUBUF-NEXT: v_mov_b32_e32 v2, 1 | ; MUBUF-NEXT: v_mov_b32_e32 v2, 1 | ||||
; MUBUF-NEXT: buffer_store_dword v2, v3, s[0:3], 0 offen offset:4 | ; MUBUF-NEXT: buffer_store_dword v2, v3, s[0:3], 0 offen offset:4 | ||||
; MUBUF-NEXT: v_lshl_add_u32 v2, v4, 2, s6 | ; MUBUF-NEXT: v_lshl_add_u32 v2, v4, 2, s6 | ||||
; MUBUF-NEXT: buffer_load_dword v2, v2, s[0:3], 0 offen | ; MUBUF-NEXT: buffer_load_dword v2, v2, s[0:3], 0 offen | ||||
; MUBUF-NEXT: v_and_b32_e32 v3, 0x3ff, v5 | ; MUBUF-NEXT: v_and_b32_e32 v3, 0x3ff, v31 | ||||
; MUBUF-NEXT: s_mov_b32 s32, s6 | ; MUBUF-NEXT: s_mov_b32 s32, s6 | ||||
; MUBUF-NEXT: s_waitcnt vmcnt(0) | ; MUBUF-NEXT: s_waitcnt vmcnt(0) | ||||
; MUBUF-NEXT: v_add_u32_e32 v2, v2, v3 | ; MUBUF-NEXT: v_add_u32_e32 v2, v2, v3 | ||||
; MUBUF-NEXT: global_store_dword v[0:1], v2, off | ; MUBUF-NEXT: global_store_dword v[0:1], v2, off | ||||
; MUBUF-NEXT: BB2_3: ; %bb.2 | ; MUBUF-NEXT: BB2_3: ; %bb.2 | ||||
; MUBUF-NEXT: s_or_b64 exec, exec, s[4:5] | ; MUBUF-NEXT: s_or_b64 exec, exec, s[4:5] | ||||
; MUBUF-NEXT: v_mov_b32_e32 v0, 0 | ; MUBUF-NEXT: v_mov_b32_e32 v0, 0 | ||||
; MUBUF-NEXT: global_store_dword v[0:1], v0, off | ; MUBUF-NEXT: global_store_dword v[0:1], v0, off | ||||
Show All 20 Lines | |||||
; FLATSCR-NEXT: s_movk_i32 s3, 0x1000 | ; FLATSCR-NEXT: s_movk_i32 s3, 0x1000 | ||||
; FLATSCR-NEXT: s_add_i32 s4, s2, s3 | ; FLATSCR-NEXT: s_add_i32 s4, s2, s3 | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v2, 0 | ; FLATSCR-NEXT: v_mov_b32_e32 v2, 0 | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v3, 1 | ; FLATSCR-NEXT: v_mov_b32_e32 v3, 1 | ||||
; FLATSCR-NEXT: s_add_u32 s2, s2, s3 | ; FLATSCR-NEXT: s_add_u32 s2, s2, s3 | ||||
; FLATSCR-NEXT: scratch_store_dwordx2 off, v[2:3], s2 | ; FLATSCR-NEXT: scratch_store_dwordx2 off, v[2:3], s2 | ||||
; FLATSCR-NEXT: v_lshl_add_u32 v2, v4, 2, s4 | ; FLATSCR-NEXT: v_lshl_add_u32 v2, v4, 2, s4 | ||||
; FLATSCR-NEXT: scratch_load_dword v2, v2, off | ; FLATSCR-NEXT: scratch_load_dword v2, v2, off | ||||
; FLATSCR-NEXT: v_and_b32_e32 v3, 0x3ff, v5 | ; FLATSCR-NEXT: v_and_b32_e32 v3, 0x3ff, v31 | ||||
; FLATSCR-NEXT: s_mov_b32 s32, s4 | ; FLATSCR-NEXT: s_mov_b32 s32, s4 | ||||
; FLATSCR-NEXT: s_waitcnt vmcnt(0) | ; FLATSCR-NEXT: s_waitcnt vmcnt(0) | ||||
; FLATSCR-NEXT: v_add_u32_e32 v2, v2, v3 | ; FLATSCR-NEXT: v_add_u32_e32 v2, v2, v3 | ||||
; FLATSCR-NEXT: global_store_dword v[0:1], v2, off | ; FLATSCR-NEXT: global_store_dword v[0:1], v2, off | ||||
; FLATSCR-NEXT: BB2_3: ; %bb.2 | ; FLATSCR-NEXT: BB2_3: ; %bb.2 | ||||
; FLATSCR-NEXT: s_or_b64 exec, exec, s[0:1] | ; FLATSCR-NEXT: s_or_b64 exec, exec, s[0:1] | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v0, 0 | ; FLATSCR-NEXT: v_mov_b32_e32 v0, 0 | ||||
; FLATSCR-NEXT: global_store_dword v[0:1], v0, off | ; FLATSCR-NEXT: global_store_dword v[0:1], v0, off | ||||
Show All 39 Lines | |||||
; MUBUF-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2 | ; MUBUF-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2 | ||||
; MUBUF-NEXT: s_add_u32 s32, s32, 0x2000 | ; MUBUF-NEXT: s_add_u32 s32, s32, 0x2000 | ||||
; MUBUF-NEXT: s_and_saveexec_b64 s[4:5], vcc | ; MUBUF-NEXT: s_and_saveexec_b64 s[4:5], vcc | ||||
; MUBUF-NEXT: s_cbranch_execz BB3_2 | ; MUBUF-NEXT: s_cbranch_execz BB3_2 | ||||
; MUBUF-NEXT: ; %bb.1: ; %bb.0 | ; MUBUF-NEXT: ; %bb.1: ; %bb.0 | ||||
; MUBUF-NEXT: s_add_i32 s6, s32, 0x1000 | ; MUBUF-NEXT: s_add_i32 s6, s32, 0x1000 | ||||
; MUBUF-NEXT: s_and_b32 s6, s6, 0xfffff000 | ; MUBUF-NEXT: s_and_b32 s6, s6, 0xfffff000 | ||||
; MUBUF-NEXT: v_mov_b32_e32 v2, 0 | ; MUBUF-NEXT: v_mov_b32_e32 v2, 0 | ||||
; MUBUF-NEXT: v_mov_b32_e32 v5, s6 | ; MUBUF-NEXT: v_mov_b32_e32 v4, s6 | ||||
; MUBUF-NEXT: buffer_store_dword v2, v5, s[0:3], 0 offen | ; MUBUF-NEXT: buffer_store_dword v2, v4, s[0:3], 0 offen | ||||
; MUBUF-NEXT: v_mov_b32_e32 v2, 1 | ; MUBUF-NEXT: v_mov_b32_e32 v2, 1 | ||||
; MUBUF-NEXT: buffer_store_dword v2, v5, s[0:3], 0 offen offset:4 | ; MUBUF-NEXT: buffer_store_dword v2, v4, s[0:3], 0 offen offset:4 | ||||
; MUBUF-NEXT: v_lshl_add_u32 v2, v3, 2, s6 | ; MUBUF-NEXT: v_lshl_add_u32 v2, v3, 2, s6 | ||||
; MUBUF-NEXT: buffer_load_dword v2, v2, s[0:3], 0 offen | ; MUBUF-NEXT: buffer_load_dword v2, v2, s[0:3], 0 offen | ||||
; MUBUF-NEXT: v_and_b32_e32 v3, 0x3ff, v4 | ; MUBUF-NEXT: v_and_b32_e32 v3, 0x3ff, v31 | ||||
; MUBUF-NEXT: s_mov_b32 s32, s6 | ; MUBUF-NEXT: s_mov_b32 s32, s6 | ||||
; MUBUF-NEXT: s_waitcnt vmcnt(0) | ; MUBUF-NEXT: s_waitcnt vmcnt(0) | ||||
; MUBUF-NEXT: v_add_u32_e32 v2, v2, v3 | ; MUBUF-NEXT: v_add_u32_e32 v2, v2, v3 | ||||
; MUBUF-NEXT: global_store_dword v[0:1], v2, off | ; MUBUF-NEXT: global_store_dword v[0:1], v2, off | ||||
; MUBUF-NEXT: BB3_2: ; %bb.1 | ; MUBUF-NEXT: BB3_2: ; %bb.1 | ||||
; MUBUF-NEXT: s_or_b64 exec, exec, s[4:5] | ; MUBUF-NEXT: s_or_b64 exec, exec, s[4:5] | ||||
; MUBUF-NEXT: v_mov_b32_e32 v0, 0 | ; MUBUF-NEXT: v_mov_b32_e32 v0, 0 | ||||
; MUBUF-NEXT: global_store_dword v[0:1], v0, off | ; MUBUF-NEXT: global_store_dword v[0:1], v0, off | ||||
Show All 10 Lines | |||||
; FLATSCR-NEXT: s_andn2_b32 s33, s33, 63 | ; FLATSCR-NEXT: s_andn2_b32 s33, s33, 63 | ||||
; FLATSCR-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2 | ; FLATSCR-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2 | ||||
; FLATSCR-NEXT: s_add_u32 s32, s32, 0x80 | ; FLATSCR-NEXT: s_add_u32 s32, s32, 0x80 | ||||
; FLATSCR-NEXT: s_and_saveexec_b64 s[0:1], vcc | ; FLATSCR-NEXT: s_and_saveexec_b64 s[0:1], vcc | ||||
; FLATSCR-NEXT: s_cbranch_execz BB3_2 | ; FLATSCR-NEXT: s_cbranch_execz BB3_2 | ||||
; FLATSCR-NEXT: ; %bb.1: ; %bb.0 | ; FLATSCR-NEXT: ; %bb.1: ; %bb.0 | ||||
; FLATSCR-NEXT: s_add_i32 s2, s32, 0x1000 | ; FLATSCR-NEXT: s_add_i32 s2, s32, 0x1000 | ||||
; FLATSCR-NEXT: s_and_b32 s2, s2, 0xfffff000 | ; FLATSCR-NEXT: s_and_b32 s2, s2, 0xfffff000 | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v5, 0 | ; FLATSCR-NEXT: v_mov_b32_e32 v4, 0 | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v6, 1 | ; FLATSCR-NEXT: v_mov_b32_e32 v5, 1 | ||||
; FLATSCR-NEXT: v_lshl_add_u32 v2, v3, 2, s2 | ; FLATSCR-NEXT: v_lshl_add_u32 v2, v3, 2, s2 | ||||
; FLATSCR-NEXT: scratch_store_dwordx2 off, v[5:6], s2 | ; FLATSCR-NEXT: scratch_store_dwordx2 off, v[4:5], s2 | ||||
; FLATSCR-NEXT: scratch_load_dword v2, v2, off | ; FLATSCR-NEXT: scratch_load_dword v2, v2, off | ||||
; FLATSCR-NEXT: v_and_b32_e32 v3, 0x3ff, v4 | ; FLATSCR-NEXT: v_and_b32_e32 v3, 0x3ff, v31 | ||||
; FLATSCR-NEXT: s_mov_b32 s32, s2 | ; FLATSCR-NEXT: s_mov_b32 s32, s2 | ||||
; FLATSCR-NEXT: s_waitcnt vmcnt(0) | ; FLATSCR-NEXT: s_waitcnt vmcnt(0) | ||||
; FLATSCR-NEXT: v_add_u32_e32 v2, v2, v3 | ; FLATSCR-NEXT: v_add_u32_e32 v2, v2, v3 | ||||
; FLATSCR-NEXT: global_store_dword v[0:1], v2, off | ; FLATSCR-NEXT: global_store_dword v[0:1], v2, off | ||||
; FLATSCR-NEXT: BB3_2: ; %bb.1 | ; FLATSCR-NEXT: BB3_2: ; %bb.1 | ||||
; FLATSCR-NEXT: s_or_b64 exec, exec, s[0:1] | ; FLATSCR-NEXT: s_or_b64 exec, exec, s[0:1] | ||||
; FLATSCR-NEXT: v_mov_b32_e32 v0, 0 | ; FLATSCR-NEXT: v_mov_b32_e32 v0, 0 | ||||
; FLATSCR-NEXT: global_store_dword v[0:1], v0, off | ; FLATSCR-NEXT: global_store_dword v[0:1], v0, off | ||||
Show All 29 Lines |