Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 4,577 Lines • ▼ Show 20 Lines | |||||
; GFX6-NEXT: s_bfe_u32 s0, s0, 0x100000 | ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x100000 | ||||
; GFX6-NEXT: s_lshl_b32 s1, s1, 16 | ; GFX6-NEXT: s_lshl_b32 s1, s1, 16 | ||||
; GFX6-NEXT: s_or_b32 s0, s0, s1 | ; GFX6-NEXT: s_or_b32 s0, s0, s1 | ||||
; GFX6-NEXT: s_bfe_u32 s1, s2, 0x100000 | ; GFX6-NEXT: s_bfe_u32 s1, s2, 0x100000 | ||||
; GFX6-NEXT: ; return to shader part epilog | ; GFX6-NEXT: ; return to shader part epilog | ||||
; | ; | ||||
; GFX8-LABEL: s_fshr_v3i16: | ; GFX8-LABEL: s_fshr_v3i16: | ||||
; GFX8: ; %bb.0: | ; GFX8: ; %bb.0: | ||||
; GFX8-NEXT: s_lshr_b32 s8, s4, 16 | |||||
; GFX8-NEXT: s_and_b32 s4, s4, 0xffff | |||||
; GFX8-NEXT: s_lshl_b32 s8, s8, 16 | |||||
; GFX8-NEXT: s_or_b32 s4, s4, s8 | |||||
; GFX8-NEXT: s_bfe_u32 s8, 1, 0x100000 | ; GFX8-NEXT: s_bfe_u32 s8, 1, 0x100000 | ||||
; GFX8-NEXT: s_bfe_u32 s9, s2, 0x100000 | ; GFX8-NEXT: s_bfe_u32 s9, s2, 0x100000 | ||||
; GFX8-NEXT: s_bfe_u32 s10, 15, 0x100000 | ; GFX8-NEXT: s_bfe_u32 s10, 15, 0x100000 | ||||
; GFX8-NEXT: s_lshr_b32 s6, s0, 16 | ; GFX8-NEXT: s_lshr_b32 s6, s0, 16 | ||||
; GFX8-NEXT: s_lshr_b32 s7, s2, 16 | ; GFX8-NEXT: s_lshr_b32 s7, s2, 16 | ||||
; GFX8-NEXT: s_lshl_b32 s0, s0, s8 | ; GFX8-NEXT: s_lshl_b32 s0, s0, s8 | ||||
; GFX8-NEXT: s_lshr_b32 s9, s9, s10 | ; GFX8-NEXT: s_lshr_b32 s9, s9, s10 | ||||
; GFX8-NEXT: s_or_b32 s0, s0, s9 | ; GFX8-NEXT: s_or_b32 s0, s0, s9 | ||||
▲ Show 20 Lines • Show All 241 Lines • ▼ Show 20 Lines | |||||
; GFX6-NEXT: v_lshlrev_b32_e32 v2, v5, v2 | ; GFX6-NEXT: v_lshlrev_b32_e32 v2, v5, v2 | ||||
; GFX6-NEXT: v_lshrrev_b32_e32 v3, v4, v3 | ; GFX6-NEXT: v_lshrrev_b32_e32 v3, v4, v3 | ||||
; GFX6-NEXT: v_or_b32_e32 v2, v2, v3 | ; GFX6-NEXT: v_or_b32_e32 v2, v2, v3 | ||||
; GFX6-NEXT: s_setpc_b64 s[30:31] | ; GFX6-NEXT: s_setpc_b64 s[30:31] | ||||
; | ; | ||||
; GFX8-LABEL: v_fshr_v3i16: | ; GFX8-LABEL: v_fshr_v3i16: | ||||
; GFX8: ; %bb.0: | ; GFX8: ; %bb.0: | ||||
; GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) | ; GFX8-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) | ||||
; GFX8-NEXT: v_lshrrev_b32_e32 v7, 16, v4 | |||||
; GFX8-NEXT: v_lshlrev_b32_e32 v7, 16, v7 | |||||
; GFX8-NEXT: v_or_b32_sdwa v4, v4, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD | |||||
; GFX8-NEXT: v_lshlrev_b16_e32 v7, 1, v0 | ; GFX8-NEXT: v_lshlrev_b16_e32 v7, 1, v0 | ||||
; GFX8-NEXT: v_lshrrev_b16_e32 v8, 15, v2 | ; GFX8-NEXT: v_lshrrev_b16_e32 v8, 15, v2 | ||||
; GFX8-NEXT: v_lshrrev_b32_e32 v6, 16, v2 | ; GFX8-NEXT: v_lshrrev_b32_e32 v6, 16, v2 | ||||
; GFX8-NEXT: v_or_b32_e32 v7, v7, v8 | ; GFX8-NEXT: v_or_b32_e32 v7, v7, v8 | ||||
; GFX8-NEXT: v_mov_b32_e32 v8, 1 | ; GFX8-NEXT: v_mov_b32_e32 v8, 1 | ||||
; GFX8-NEXT: v_lshlrev_b16_sdwa v0, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 | ; GFX8-NEXT: v_lshlrev_b16_sdwa v0, v8, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 | ||||
; GFX8-NEXT: v_lshrrev_b16_e32 v8, 15, v6 | ; GFX8-NEXT: v_lshrrev_b16_e32 v8, 15, v6 | ||||
; GFX8-NEXT: v_xor_b32_e32 v4, -1, v4 | ; GFX8-NEXT: v_xor_b32_e32 v4, -1, v4 | ||||
▲ Show 20 Lines • Show All 3,692 Lines • Show Last 20 Lines |