This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU][GFX11] Correct tied src2 of v_fmac_f16_e64
ClosedPublic

Authored by dp on Dec 19 2022, 6:06 AM.

Details

Summary

src2 was incorrectly defined as VSrc_f16 but it is tied to dst which is VGPR_32. As a result, disassembler failed to decode src2. See this bug for more information.

This change affects codegen because v_fmac_f16_e64 are now replaced by v_fma_f16 when src2 is not a VGPR. See https://github.com/llvm/llvm-project/blob/b5c809acd34c26666489679300eb0b8a8b824aeb/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L337

Diff Detail

Event Timeline

dp created this revision.Dec 19 2022, 6:06 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 19 2022, 6:06 AM
dp requested review of this revision.Dec 19 2022, 6:06 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 19 2022, 6:06 AM
Joe_Nash accepted this revision.Dec 29 2022, 1:33 PM

LGTM! Thanks for catching that.

This revision is now accepted and ready to land.Dec 29 2022, 1:33 PM
This revision was automatically updated to reflect the committed changes.