]> granicus.if.org Git - llvm/commitdiff
AMDGPU: Fix assembler subtarget predicate for gfx9
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 18 Feb 2017 19:12:26 +0000 (19:12 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 18 Feb 2017 19:12:26 +0000 (19:12 +0000)
This was accepting GFX9 instructions on VI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295557 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AMDGPU/AMDGPU.td
lib/Target/AMDGPU/AMDGPUSubtarget.cpp
lib/Target/AMDGPU/AMDGPUSubtarget.h

index d97c89df52ff2fa9964a6efacfb4b0e1a63b48ae..0de72734b71b985796f1c4b5bcf424fc7534d98c 100644 (file)
@@ -166,6 +166,12 @@ def FeatureCIInsts : SubtargetFeature<"ci-insts",
   "Additional intstructions for CI+"
 >;
 
+def FeatureGFX9Insts : SubtargetFeature<"gfx9-insts",
+  "GFX9Insts",
+  "true",
+  "Additional intstructions for GFX9+"
+>;
+
 def FeatureSMemRealTime : SubtargetFeature<"s-memrealtime",
   "HasSMemRealTime",
   "true",
@@ -388,7 +394,7 @@ def FeatureGFX9 : SubtargetFeatureGeneration<"GFX9",
    FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
    FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
    FeatureSMemRealTime, FeatureScalarStores, FeatureInv2PiInlineImm,
-   FeatureApertureRegs
+   FeatureApertureRegs, FeatureGFX9Insts
   ]
 >;
 
@@ -552,6 +558,10 @@ def isVI : Predicate <
   "Subtarget->getGeneration() >= AMDGPUSubtarget::VOLCANIC_ISLANDS">,
   AssemblerPredicate<"FeatureGCN3Encoding">;
 
+def isGFX9 : Predicate <
+  "Subtarget->getGeneration() >= AMDGPUSubtarget::GFX9">,
+  AssemblerPredicate<"FeatureGFX9Insts">;
+
 // TODO: Either the name to be changed or we simply use IsCI!
 def isCIVI : Predicate <
   "Subtarget->getGeneration() >= AMDGPUSubtarget::SEA_ISLANDS">,
index a37f5a89eda71db80ca97622c10099d29d8d5c77..32b04fe7a1e162417e8b1f41df39d20595d68662 100644 (file)
@@ -112,6 +112,7 @@ AMDGPUSubtarget::AMDGPUSubtarget(const Triple &TT, StringRef GPU, StringRef FS,
     GCN1Encoding(false),
     GCN3Encoding(false),
     CIInsts(false),
+    GFX9Insts(false),
     SGPRInitBug(false),
     HasSMemRealTime(false),
     Has16BitInsts(false),
index dfdf29e7a12f4beaf764296ff8e317ea7e61797d..433c295feaf88bf5480595b0bc27d4b232692bdb 100644 (file)
@@ -127,6 +127,7 @@ protected:
   bool GCN1Encoding;
   bool GCN3Encoding;
   bool CIInsts;
+  bool GFX9Insts;
   bool SGPRInitBug;
   bool HasSMemRealTime;
   bool Has16BitInsts;