This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU][MC] Added validation of image dst/data size (must match dmask and tfe)
ClosedPublic

Authored by dp on Jan 24 2018, 7:51 AM.

Diff Detail

Event Timeline

dp created this revision.Jan 24 2018, 7:51 AM
dp updated this revision to Diff 131284.Jan 24 2018, 8:56 AM

Disabled validation of gather4 instructions because they have special rules not described in AMD documents.

Could anybody provide an up-to-date gather4 description?

arsenm added inline comments.Jan 24 2018, 9:11 AM
lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
2281

New line

2284

New line

2295

I've been thinking we should probably eventually remove the TFE operands from instructions. Since this changes the register class of the result, so it necessitates another set of instruction definitions

2297

New line

2307–2308

New line.

2308

Checking for atomic this way is a bit suspect but I think this will work

dp marked 4 inline comments as done.Jan 24 2018, 10:06 AM
dp added inline comments.
lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
2295

I thought about adding TFE variants though the whole thing already looks ugly enough.
Also I'm thinking about excluding d16 from validation - looks like these variants have special (badly documented) rules.

2308

Should I add a new flag for atomics to identify them safely?

dp updated this revision to Diff 131308.Jan 24 2018, 10:21 AM

Corrected typos found by Matt.
Excluded d16 from validation.

artem.tamazov accepted this revision.Jan 25 2018, 7:19 AM
This revision is now accepted and ready to land.Jan 25 2018, 7:19 AM
This revision was automatically updated to reflect the committed changes.