[PATCH] D132957: [AMDGPU][MC][GFX11][NFC] Update tests for VOP3P.DPP instructions
Dmitry Preobrazhensky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 31 04:32:08 PDT 2022
dp added inline comments.
================
Comment at: llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s:20
+
+// FIXME: it is not clear if op_sel may be used with these instructions. SPG requires op_sel=0 and op_sel_hi=7.
+
----------------
Joe_Nash wrote:
> I'm not sure where you're getting op_sel_hi=7 for v_fma_mix* instructions. From my reading of the spec and comparison with sp3, all values of op_sel and op_sel_hi are supported. The behavior is non-standard for mix opcodes, but the values should be accepted.
> Does your observation have anything to do with dpp? Both dpp and non-dpp version should behave the same and allow all values of op_sel.
I remember that SPG stated the following at some point:
When using DPP with VOP3/VOP3P, the OPSEL must be set such that the low result only uses low inputs, and the high result only uses high inputs.
I always thought that this was a suspicious statement, but see the original tests `gfx11_asm_vop3p_dpp8.s` below, they stated essentially the same:
// For test purpose only. OP_SEL has to be set to all 0 and OP_SEL_HI has to be set to all 1
================
Comment at: llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s:13
// For test purpose only. OP_SEL has to be set to all 0 and OP_SEL_HI has to be set to all 1
v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3) op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4]
----------------
Here is the original comment.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132957/new/
https://reviews.llvm.org/D132957
More information about the llvm-commits
mailing list