diff options
| author | Sam Kolton <Sam.Kolton@amd.com> | 2016-09-12 14:42:43 +0000 |
|---|---|---|
| committer | Sam Kolton <Sam.Kolton@amd.com> | 2016-09-12 14:42:43 +0000 |
| commit | fb0d9d9c13be4e54489f0ebbe18c9626c5b63e9c (patch) | |
| tree | 99e5fc35704f129e6141f0e1ddbadc123f4c1d47 /llvm/lib | |
| parent | 1e1b56bd4825949d33599c9eeaf728c207668c47 (diff) | |
| download | bcm5719-llvm-fb0d9d9c13be4e54489f0ebbe18c9626c5b63e9c.tar.gz bcm5719-llvm-fb0d9d9c13be4e54489f0ebbe18c9626c5b63e9c.zip | |
[AMDGPU] Assembler: Move disabled SDWA and DPP instruction into Disable asm variant
Summary: This removes disabled instructions from match tables so we will not match them at all.
Reviewers: tstellarAMD, vpykhtin, artem.tamazov
Subscribers: wdng, nhaehnle, arsenm
Differential Revision: https://reviews.llvm.org/D24452
llvm-svn: 281216
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPU.td | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIInstrInfo.td | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPU.td b/llvm/lib/Target/AMDGPU/AMDGPU.td index 58494a91d18..6a253362f40 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPU.td +++ b/llvm/lib/Target/AMDGPU/AMDGPU.td @@ -358,6 +358,8 @@ def AMDGPUAsmVariants { int SDWA_ID = 2; string DPP = "DPP"; int DPP_ID = 3; + string Disable = "Disable"; + int Disable_ID = 4; } def DefaultAMDGPUAsmParserVariant : AsmParserVariant { diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td index 89c1293bff2..27b53c9e151 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td @@ -1245,6 +1245,8 @@ class VOP1_DPP <vop1 op, string opName, VOPProfile p> : VOP1_DPPe <op.VI>, VOP_DPP <p.OutsDPP, p.InsDPP, opName#p.AsmDPP, [], p.HasModifiers> { let AssemblerPredicates = !if(p.HasExt, [isVI], [DisableInst]); + let AsmVariantName = !if(p.HasExt, AMDGPUAsmVariants.DPP, + AMDGPUAsmVariants.Disable); let DecoderNamespace = "DPP"; let DisableDecoder = DisableVIDecoder; let src0_modifiers = !if(p.HasModifiers, ?, 0); @@ -1280,6 +1282,8 @@ class VOP1_SDWA <vop1 op, string opName, VOPProfile p> : SDWADisableFields <p> { let AsmMatchConverter = "cvtSdwaVOP1"; let AssemblerPredicates = !if(p.HasExt, [isVI], [DisableInst]); + let AsmVariantName = !if(p.HasExt, AMDGPUAsmVariants.SDWA, + AMDGPUAsmVariants.Disable); let DecoderNamespace = "SDWA"; let DisableDecoder = DisableVIDecoder; } @@ -1342,6 +1346,8 @@ class VOP2_DPP <vop2 op, string opName, VOPProfile p> : VOP2_DPPe <op.VI>, VOP_DPP <p.OutsDPP, p.InsDPP, opName#p.AsmDPP, [], p.HasModifiers> { let AssemblerPredicates = !if(p.HasExt, [isVI], [DisableInst]); + let AsmVariantName = !if(p.HasExt, AMDGPUAsmVariants.DPP, + AMDGPUAsmVariants.Disable); let DecoderNamespace = "DPP"; let DisableDecoder = DisableVIDecoder; let src0_modifiers = !if(p.HasModifiers, ?, 0); @@ -1354,6 +1360,8 @@ class VOP2_SDWA <vop2 op, string opName, VOPProfile p> : SDWADisableFields <p> { let AsmMatchConverter = "cvtSdwaVOP2"; let AssemblerPredicates = !if(p.HasExt, [isVI], [DisableInst]); + let AsmVariantName = !if(p.HasExt, AMDGPUAsmVariants.SDWA, + AMDGPUAsmVariants.Disable); let DecoderNamespace = "SDWA"; let DisableDecoder = DisableVIDecoder; } @@ -1809,6 +1817,8 @@ class VOPC_SDWA <vopc op, string opName, bit DefExec, VOPProfile p> : let hasSideEffects = DefExec; let AsmMatchConverter = "cvtSdwaVOPC"; let AssemblerPredicates = !if(p.HasExt, [isVI], [DisableInst]); + let AsmVariantName = !if(p.HasExt, AMDGPUAsmVariants.SDWA, + AMDGPUAsmVariants.Disable); let DecoderNamespace = "SDWA"; let DisableDecoder = DisableVIDecoder; } |

