This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Rename 64BitDPP feature and fix the checks
ClosedPublic

Authored by rampitec on Aug 21 2023, 3:18 PM.

Details

Summary

Names '64BitDPP' and especially 'DPP64' were found misleading, and
DPP64 can easily be mixed with DPP16 and DPP8 while these are
different concepts. DPP16 and DPP8 refers to lanes where DPP64
refers to the operand size.

In fact the essential part here is that these instructions are
executed on the DP ALU, so rename the feature accordingly.

I have also found a bug in a check for these instructions, which is
fixed here and a common utility function is now used.

Diff Detail

Event Timeline

rampitec created this revision.Aug 21 2023, 3:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 21 2023, 3:18 PM
rampitec requested review of this revision.Aug 21 2023, 3:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 21 2023, 3:18 PM
Herald added a subscriber: wdng. · View Herald Transcript

Technically speaking gfx9 was before gfx10, and dpp64 was an innocent name back then. The name just outlived the reality and did not age well.

Joe_Nash added inline comments.Aug 22 2023, 10:28 AM
llvm/lib/Target/AMDGPU/AMDGPU.td
457–458

nit: Call it "DP_ALU_DPP" instead of "DPALU_DPP" because DP and ALU are acronyms in their own right?

llvm/test/MC/Disassembler/AMDGPU/gfx940_features.txt
481

Add a disassembler error test to ensure this is forbidden?

rampitec added inline comments.Aug 22 2023, 10:30 AM
llvm/test/MC/Disassembler/AMDGPU/gfx940_features.txt
481

Disasm is more permissive, it does not check this, just as many other errors.

rampitec added inline comments.Aug 22 2023, 10:33 AM
llvm/lib/Target/AMDGPU/AMDGPU.td
457–458

Our documentation refers to it as DPALU or DPMACC, so I' prefer not to produce more underscores.

This revision is now accepted and ready to land.Aug 22 2023, 10:41 AM
This revision was landed with ongoing or failed builds.Aug 22 2023, 11:00 AM
This revision was automatically updated to reflect the committed changes.