This is an archive of the discontinued LLVM Phabricator instance.

fix ds_swizzle_b32 opcode for VI (bz 28371)
ClosedPublic

Authored by vpykhtin on Jul 6 2016, 9:11 AM.

Details

Summary

This creates the need to use opcode tuple tecnique we used in other instructions.

Diff Detail

Repository
rL LLVM

Event Timeline

vpykhtin updated this revision to Diff 62883.Jul 6 2016, 9:11 AM
vpykhtin retitled this revision from to fix ds_swizzle_b32 opcode for VI (bz 28371) .
vpykhtin updated this object.
vpykhtin set the repository for this revision to rL LLVM.
vpykhtin added a project: Restricted Project.
arsenm added inline comments.Jul 6 2016, 11:38 AM
lib/Target/AMDGPU/SIInstrInfo.td
2599 ↗(On Diff #62883)

Why a trailing underscore in the name?

artem.tamazov edited edge metadata.Jul 7 2016, 5:53 AM

Shall we take care about DS_1A_RET_ and get rid of TODO. Otherwise, fine.

lib/Target/AMDGPU/SIInstrInfo.td
2599 ↗(On Diff #62883)

Matt, there is TODO comment about that at line 2612.

2612–2613 ↗(On Diff #62883)

Perhaps is sensible to remove this class and use dsop everywhere right now. There could be some other similar problems for VI, not yet found for now.

artem.tamazov accepted this revision.Jul 7 2016, 5:55 AM
artem.tamazov edited edge metadata.

LGTM if considered as a quickfix. Well... use your <good> judgment, up to you.

This revision is now accepted and ready to land.Jul 7 2016, 5:55 AM

Do not forget to add bugzilla URL to commit description.

vpykhtin added inline comments.Jul 7 2016, 6:20 AM
lib/Target/AMDGPU/SIInstrInfo.td
2599 ↗(On Diff #62883)

Matt, its done to distinguish from DS_1A_RET. I agree its better just to replace all usages of DS_1A_RET with dsop operands and remove DS_1A_RET_. On the other hand there're only few differences in ds opcodes between SI and VI.

This revision was automatically updated to reflect the committed changes.