AMDGPU/GlobalISel: Regenerate some checks

Fixes indentation confusing diff in future patch.
This commit is contained in:
Matt Arsenault 2020-11-11 12:11:17 -05:00
parent e722943e05
commit e7eb2ac53f
1 changed files with 274 additions and 274 deletions

View File

@ -17,56 +17,56 @@ define <3 x i32> @v_load_constant_v3i32_align1(<3 x i32> addrspace(4)* %ptr) {
;
; GFX9-NOUNALIGNED-LABEL: v_load_constant_v3i32_align1:
; GFX9-NOUNALIGNED: ; %bb.0:
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_add_co_u32_e32 v2, vcc, 11, v0
; GFX9-NOUNALIGNED-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v1, vcc
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v1, v[2:3], off offset:-10
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v[2:3], off offset:-9
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v5, v[2:3], off offset:-8
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v6, v[2:3], off offset:-7
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v7, v[2:3], off offset:-6
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v[2:3], off offset:-5
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v[2:3], off offset:-4
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v[2:3], off offset:-3
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v[2:3], off offset:-2
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v[2:3], off offset:-1
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, 0xff
; GFX9-NOUNALIGNED-NEXT: s_movk_i32 s4, 0xff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v13, 8
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s5, 8
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v1, s5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s4, v4
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s4, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s4, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(6)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v7, v13, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v8, v8, v3
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v9, v9, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v4
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v11, v13, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v12, v12, v3
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v2, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 24, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v5, v6, v3, v7
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v6, 16, v8
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v9
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v3, v10, v3, v11
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v8, 16, v12
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 24, v2
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v0, v1, v4
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v5, v6, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v3, v8, v2
; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_add_co_u32_e32 v2, vcc, 11, v0
; GFX9-NOUNALIGNED-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v1, vcc
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v1, v[2:3], off offset:-10
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v[2:3], off offset:-9
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v5, v[2:3], off offset:-8
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v6, v[2:3], off offset:-7
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v7, v[2:3], off offset:-6
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v[2:3], off offset:-5
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v[2:3], off offset:-4
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v[2:3], off offset:-3
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v[2:3], off offset:-2
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v[2:3], off offset:-1
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, 0xff
; GFX9-NOUNALIGNED-NEXT: s_movk_i32 s4, 0xff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v13, 8
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s5, 8
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v1, s5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s4, v4
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s4, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s4, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(6)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v7, v13, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v8, v8, v3
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v9, v9, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v4
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v11, v13, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v12, v12, v3
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v2, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 24, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v5, v6, v3, v7
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v6, 16, v8
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v9
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v3, v10, v3, v11
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v8, 16, v12
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 24, v2
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v0, v1, v4
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v5, v6, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v3, v8, v2
; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
;
; GFX7-UNALIGNED-LABEL: v_load_constant_v3i32_align1:
; GFX7-UNALIGNED: ; %bb.0:
@ -155,30 +155,30 @@ define <3 x i32> @v_load_constant_v3i32_align2(<3 x i32> addrspace(4)* %ptr) {
;
; GFX9-NOUNALIGNED-LABEL: v_load_constant_v3i32_align2:
; GFX9-NOUNALIGNED: ; %bb.0:
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_add_co_u32_e32 v2, vcc, 10, v0
; GFX9-NOUNALIGNED-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v1, vcc
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v1, v[2:3], off offset:-8
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v[2:3], off offset:-6
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v[2:3], off offset:-4
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v6, v[2:3], off offset:-2
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s4, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s4, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v5, v5, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v2, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s4, v1
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v1, v4, v3, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v2, v6, v3, v2
; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_add_co_u32_e32 v2, vcc, 10, v0
; GFX9-NOUNALIGNED-NEXT: v_addc_co_u32_e32 v3, vcc, 0, v1, vcc
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v1, v[2:3], off offset:-8
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v[2:3], off offset:-6
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v[2:3], off offset:-4
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v6, v[2:3], off offset:-2
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s4, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s4, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v5, v5, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v2, v3
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s4, v1
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v1, v4, v3, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v2, v6, v3, v2
; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
;
; GFX7-UNALIGNED-LABEL: v_load_constant_v3i32_align2:
; GFX7-UNALIGNED: ; %bb.0:
@ -192,36 +192,36 @@ define <3 x i32> @v_load_constant_v3i32_align2(<3 x i32> addrspace(4)* %ptr) {
;
; GFX7-NOUNALIGNED-LABEL: v_load_constant_v3i32_align2:
; GFX7-NOUNALIGNED: ; %bb.0:
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s6, 0
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s7, 0xf000
; GFX7-NOUNALIGNED-NEXT: s_mov_b64 s[4:5], 0
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v2, v[0:1], s[4:7], 0 addr64
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v3, v[0:1], s[4:7], 0 addr64 offset:2
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v4, v[0:1], s[4:7], 0 addr64 offset:4
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v5, v[0:1], s[4:7], 0 addr64 offset:6
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v6, v[0:1], s[4:7], 0 addr64 offset:8
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v0, v[0:1], s[4:7], 0 addr64 offset:10
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s4, 0xffff
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s4, v2
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v2, s4, v3
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(3)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v3, s4, v4
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s4, v5
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s4, v6
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v0, s4, v0
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v6, 16, v0
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v0, v1, v2
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v1, v3, v4
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v2, v5, v6
; GFX7-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s6, 0
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s7, 0xf000
; GFX7-NOUNALIGNED-NEXT: s_mov_b64 s[4:5], 0
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v2, v[0:1], s[4:7], 0 addr64
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v3, v[0:1], s[4:7], 0 addr64 offset:2
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v4, v[0:1], s[4:7], 0 addr64 offset:4
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v5, v[0:1], s[4:7], 0 addr64 offset:6
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v6, v[0:1], s[4:7], 0 addr64 offset:8
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v0, v[0:1], s[4:7], 0 addr64 offset:10
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s4, 0xffff
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s4, v2
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v2, s4, v3
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(3)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v3, s4, v4
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s4, v5
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s4, v6
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v0, s4, v0
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v6, 16, v0
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v0, v1, v2
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v1, v3, v4
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v2, v5, v6
; GFX7-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
%load = load <3 x i32>, <3 x i32> addrspace(4)* %ptr, align 2
ret <3 x i32> %load
}
@ -398,101 +398,101 @@ define amdgpu_ps <3 x i32> @s_load_constant_v3i32_align1(<3 x i32> addrspace(4)*
;
; GFX9-NOUNALIGNED-LABEL: s_load_constant_v3i32_align1:
; GFX9-NOUNALIGNED: ; %bb.0:
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 1
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 2
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 3
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 4
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v9, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v8, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 5
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v11, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v10, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 6
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v13, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v12, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 7
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v15, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v14, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 8
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s1
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v16, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v17, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v18, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v19, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v[8:9], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v[10:11], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v[12:13], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v[14:15], off
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 9
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 10
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s0, s0, 11
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s1, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s1
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s0
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v3, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: s_movk_i32 s0, 0xff
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s1, 8
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, 0xff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, 8
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, s1, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v18
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v7, s0, v19
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v16, s0, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v0, v1, v7
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, v10, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v7, v11, v5
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, v6, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v8, v5, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v0, v1, v7
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, v6, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, v3, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v4, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v12, v5, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 24, v2
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v0, v1, v2
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 1
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 2
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 3
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 4
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v9, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v8, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 5
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v11, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v10, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 6
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v13, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v12, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 7
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v15, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v14, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 8
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s1
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v16, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v17, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v18, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v19, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v[8:9], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v[10:11], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v[12:13], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v[14:15], off
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 9
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 10
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s0, s0, 11
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s1, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s1
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s0
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v3, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: s_movk_i32 s0, 0xff
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s1, 8
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, 0xff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, 8
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, s1, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v18
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v7, s0, v19
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v16, s0, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v0, v1, v7
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, v10, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v7, v11, v5
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, v6, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v8, v5, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v0, v1, v7
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_sdwa v0, v6, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, v3, v5
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v2, v4, v5
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v12, v5, v0
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 24, v2
; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v0, v1, v2
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
;
; GFX7-UNALIGNED-LABEL: s_load_constant_v3i32_align1:
; GFX7-UNALIGNED: ; %bb.0:
@ -588,52 +588,52 @@ define amdgpu_ps <3 x i32> @s_load_constant_v3i32_align2(<3 x i32> addrspace(4)*
;
; GFX9-NOUNALIGNED-LABEL: s_load_constant_v3i32_align2:
; GFX9-NOUNALIGNED: ; %bb.0:
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 2
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 4
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 6
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 8
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s1
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s0, s0, 10
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s1, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v9, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v11, s1
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v10, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v8, s2
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v1, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v3, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v[8:9], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v[10:11], off
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s0, 0xffff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s0, v1
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v0, v3, v6
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v1, v2, v6, v0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v0, v5, v6
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v2, v4, v6, v0
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 2
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v2, s2
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v3, s3
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 4
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v5, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v4, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 6
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v7, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, s2
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s2, s0, 8
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s3, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v1, s1
; GFX9-NOUNALIGNED-NEXT: s_add_u32 s0, s0, 10
; GFX9-NOUNALIGNED-NEXT: s_addc_u32 s1, s1, 0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v9, s3
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v11, s1
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v10, s0
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v8, s2
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v0, v[0:1], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v1, v[2:3], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v[4:5], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v3, v[6:7], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v[8:9], off
; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v[10:11], off
; GFX9-NOUNALIGNED-NEXT: s_mov_b32 s0, 0xffff
; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v6, 0xffff
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v1
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v0, v0, s0, v1
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v0, v3, v6
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v1, v2, v6, v0
; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX9-NOUNALIGNED-NEXT: v_and_b32_e32 v0, v5, v6
; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX9-NOUNALIGNED-NEXT: v_and_or_b32 v2, v4, v6, v0
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
;
; GFX7-UNALIGNED-LABEL: s_load_constant_v3i32_align2:
; GFX7-UNALIGNED: ; %bb.0:
@ -651,35 +651,35 @@ define amdgpu_ps <3 x i32> @s_load_constant_v3i32_align2(<3 x i32> addrspace(4)*
;
; GFX7-NOUNALIGNED-LABEL: s_load_constant_v3i32_align2:
; GFX7-NOUNALIGNED: ; %bb.0:
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s2, -1
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s3, 0xf000
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v0, off, s[0:3], 0
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v1, off, s[0:3], 0 offset:2
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v2, off, s[0:3], 0 offset:4
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v3, off, s[0:3], 0 offset:6
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v4, off, s[0:3], 0 offset:8
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v5, off, s[0:3], 0 offset:10
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s0, 0xffff
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v0, s0, v0
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v1
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v3, s0, v3
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v2, s0, v2
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s0, v5
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s0, v4
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v0, v0, v1
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v1, v2, v3
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v2, v4, v5
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX7-NOUNALIGNED-NEXT: ; return to shader part epilog
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s2, -1
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s3, 0xf000
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v0, off, s[0:3], 0
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v1, off, s[0:3], 0 offset:2
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v2, off, s[0:3], 0 offset:4
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v3, off, s[0:3], 0 offset:6
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v4, off, s[0:3], 0 offset:8
; GFX7-NOUNALIGNED-NEXT: buffer_load_ushort v5, off, s[0:3], 0 offset:10
; GFX7-NOUNALIGNED-NEXT: s_mov_b32 s0, 0xffff
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v0, s0, v0
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v1, s0, v1
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v3, s0, v3
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v2, s0, v2
; GFX7-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v5, s0, v5
; GFX7-NOUNALIGNED-NEXT: v_and_b32_e32 v4, s0, v4
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX7-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v0, v0, v1
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v1, v2, v3
; GFX7-NOUNALIGNED-NEXT: v_or_b32_e32 v2, v4, v5
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
; GFX7-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
; GFX7-NOUNALIGNED-NEXT: ; return to shader part epilog
%load = load <3 x i32>, <3 x i32> addrspace(4)* %ptr, align 2
ret <3 x i32> %load
}