]> granicus.if.org Git - llvm/commitdiff
[AArch64] Move feature predctrl to predres
authorDiogo N. Sampaio <diogo.sampaio@arm.com>
Wed, 9 Jan 2019 11:24:15 +0000 (11:24 +0000)
committerDiogo N. Sampaio <diogo.sampaio@arm.com>
Wed, 9 Jan 2019 11:24:15 +0000 (11:24 +0000)
Follow up patch of rL350385, for adding predres
command line option. This patch renames the
feature as to keep it aligned with the option
passed by/to clang

Differential Revision: https://reviews.llvm.org/D56484

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

lib/Target/AArch64/AArch64.td
lib/Target/AArch64/AArch64InstrInfo.td
lib/Target/AArch64/AArch64Subtarget.h
lib/Target/AArch64/AArch64SystemOperands.td
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
test/MC/AArch64/armv8.5a-predres-error.s [moved from test/MC/AArch64/armv8.5a-predctrl-error.s with 92% similarity]
test/MC/AArch64/armv8.5a-predres.s [moved from test/MC/AArch64/armv8.5a-predctrl.s with 69% similarity]
test/MC/Disassembler/AArch64/armv8.5a-predres.txt [moved from test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt with 62% similarity]

index e6da78d35453d056f7e947545e9baa97835c7c4d..03d28303a2f0045fac512046e6598a39c0f63657 100644 (file)
@@ -312,8 +312,8 @@ def FeatureSB : SubtargetFeature<"sb", "HasSB",
 def FeatureSSBS : SubtargetFeature<"ssbs", "HasSSBS",
   "true", "Enable Speculative Store Bypass Safe bit" >;
 
-def FeaturePredCtrl : SubtargetFeature<"predctrl", "HasPredCtrl", "true",
-  "Enable execution and data prediction invalidation instructions" >;
+def FeaturePredRes : SubtargetFeature<"predres", "HasPredRes", "true",
+  "Enable v8.5a execution and data prediction invalidation instructions" >;
 
 def FeatureCacheDeepPersist : SubtargetFeature<"ccdp", "HasCCDP",
     "true", "Enable v8.5 Cache Clean to Point of Deep Persistence" >;
@@ -352,7 +352,7 @@ def HasV8_4aOps : SubtargetFeature<"v8.4a", "HasV8_4aOps", "true",
 def HasV8_5aOps : SubtargetFeature<
   "v8.5a", "HasV8_5aOps", "true", "Support ARM v8.5a instructions",
   [HasV8_4aOps, FeatureAltFPCmp, FeatureFRInt3264, FeatureSpecRestrict,
-   FeatureSSBS, FeatureSB, FeaturePredCtrl, FeatureCacheDeepPersist,
+   FeatureSSBS, FeatureSB, FeaturePredRes, FeatureCacheDeepPersist,
    FeatureBranchTargetId]
 >;
 
index 67a2095c65a3b195bc22ad38148d711112933d70..22dd198ab866a5f8c500dc1f2eb5cbdc8d753209 100644 (file)
@@ -116,8 +116,8 @@ def HasFRInt3264     : Predicate<"Subtarget->hasFRInt3264()">,
                        AssemblerPredicate<"FeatureFRInt3264", "frint3264">;
 def HasSB            : Predicate<"Subtarget->hasSB()">,
                        AssemblerPredicate<"FeatureSB", "sb">;
-def HasPredCtrl      : Predicate<"Subtarget->hasPredCtrl()">,
-                       AssemblerPredicate<"FeaturePredCtrl", "predctrl">;
+def HasPredRes      : Predicate<"Subtarget->hasPredRes()">,
+                       AssemblerPredicate<"FeaturePredRes", "predres">;
 def HasCCDP          : Predicate<"Subtarget->hasCCDP()">,
                        AssemblerPredicate<"FeatureCacheDeepPersist", "ccdp">;
 def HasBTI           : Predicate<"Subtarget->hasBTI()">,
index e94a044c09cc100dbcfbae6f907d85f331943eb3..f2ad4b504acd4fd5d7de91607845cfeb405289e9 100644 (file)
@@ -128,7 +128,7 @@ protected:
   bool HasSpecRestrict = false;
   bool HasSSBS = false;
   bool HasSB = false;
-  bool HasPredCtrl = false;
+  bool HasPredRes = false;
   bool HasCCDP = false;
   bool HasBTI = false;
   bool HasRandGen = false;
@@ -357,7 +357,7 @@ public:
   bool hasSpecRestrict() const { return HasSpecRestrict; }
   bool hasSSBS() const { return HasSSBS; }
   bool hasSB() const { return HasSB; }
-  bool hasPredCtrl() const { return HasPredCtrl; }
+  bool hasPredRes() const { return HasPredRes; }
   bool hasCCDP() const { return HasCCDP; }
   bool hasBTI() const { return HasBTI; }
   bool hasRandGen() const { return HasRandGen; }
index 60d48e4d99d750e41b2d04efe20459e82ef9c91b..a804fb11175b588396cdeafadc3e6c9dc9effcff 100644 (file)
@@ -501,7 +501,7 @@ class PRCTX<string name, bits<4> crm> : SearchableTable {
   code Requires = [{ {} }];
 }
 
-let Requires = [{ {AArch64::FeaturePredCtrl} }] in {
+let Requires = [{ {AArch64::FeaturePredRes} }] in {
 def : PRCTX<"RCTX", 0b0011>;
 }
 
index 88766592e31aac07f97d3739442feb2d4faabc87..6cc9b67e4d27e8446a8a8392d41c556f7f66712b 100644 (file)
@@ -2826,7 +2826,7 @@ static const struct Extension {
     {"simd", {AArch64::FeatureNEON}},
     {"ras", {AArch64::FeatureRAS}},
     {"lse", {AArch64::FeatureLSE}},
-    {"predctrl", {AArch64::FeaturePredCtrl}},
+    {"predres", {AArch64::FeaturePredRes}},
     {"ccdp", {AArch64::FeatureCacheDeepPersist}},
     {"mte", {AArch64::FeatureMTE}},
     {"tlb-rmi", {AArch64::FeatureTLB_RMI}},
similarity index 92%
rename from test/MC/AArch64/armv8.5a-predctrl-error.s
rename to test/MC/AArch64/armv8.5a-predres-error.s
index 0fd49b02bee07cdb6dd40b085dc19b8fac31aa27..295252d0f6783f5da1c8f078e2f51ac3420f8557 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+predctrl < %s 2>&1| FileCheck %s
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+predres < %s 2>&1| FileCheck %s
 
 cfp rctx
 dvp rctx
similarity index 69%
rename from test/MC/AArch64/armv8.5a-predctrl.s
rename to test/MC/AArch64/armv8.5a-predres.s
index af7dda76862d810659e908361d4b2c14c95a7269..4bab34769ac9d86613d5772d7db44ff22277ba1f 100644 (file)
@@ -1,6 +1,6 @@
-// RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+predctrl < %s      | FileCheck %s
+// RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+predres < %s      | FileCheck %s
 // RUN:     llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.5a    < %s      | FileCheck %s
-// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-predctrl < %s 2>&1 | FileCheck %s --check-prefix=NOPREDCTRL
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-predres < %s 2>&1 | FileCheck %s --check-prefix=NOPREDCTRL
 
 cfp rctx, x0
 dvp rctx, x1
@@ -10,9 +10,9 @@ cpp rctx, x2
 // CHECK: dvp rctx, x1      // encoding: [0xa1,0x73,0x0b,0xd5]
 // CHECK: cpp rctx, x2      // encoding: [0xe2,0x73,0x0b,0xd5]
 
-// NOPREDCTRL: CFPRCTX requires predctrl
+// NOPREDCTRL: CFPRCTX requires predres
 // NOPREDCTRL-NEXT: cfp
-// NOPREDCTRL: DVPRCTX requires predctrl
+// NOPREDCTRL: DVPRCTX requires predres
 // NOPREDCTRL-NEXT: dvp
-// NOPREDCTRL: CPPRCTX requires predctrl
+// NOPREDCTRL: CPPRCTX requires predres
 // NOPREDCTRL-NEXT: cpp
similarity index 62%
rename from test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt
rename to test/MC/Disassembler/AArch64/armv8.5a-predres.txt
index ecfdeec86f115265cfaf415d759c572d98df3837..5d4e0731c854f5751fa4bfa9664c510f28a022ab 100644 (file)
@@ -1,6 +1,6 @@
-# RUN: llvm-mc -triple=aarch64 -mattr=+predctrl -disassemble < %s      | FileCheck %s
+# RUN: llvm-mc -triple=aarch64 -mattr=+predres -disassemble < %s      | FileCheck %s
 # RUN: llvm-mc -triple=aarch64 -mattr=+v8.5a    -disassemble < %s      | FileCheck %s
-# RUN: llvm-mc -triple=aarch64 -mattr=-predctrl -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOSB
+# RUN: llvm-mc -triple=aarch64 -mattr=-predres -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOSB
 
 [0x80 0x73 0x0b 0xd5]
 [0xa1 0x73 0x0b 0xd5]