[PATCH] D56007: [AArch64] Add command-line option for Execution and Data Prediction Instructions

Diogo N. Sampaio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 21 08:27:21 PST 2018


dnsampaio created this revision.
dnsampaio added reviewers: javed.absar, olista01, t.p.northover, pbarrio.
Herald added subscribers: llvm-commits, kristina, kristof.beyls.

Prediction control instructions are only mandatory from v8.5a
onwards but is optional from Armv8.0-A. This patch adds a command
line option to enable it by it's own.


Repository:
  rL LLVM

https://reviews.llvm.org/D56007

Files:
  include/llvm/Support/AArch64TargetParser.def
  include/llvm/Support/AArch64TargetParser.h
  unittests/Support/TargetParserTest.cpp


Index: unittests/Support/TargetParserTest.cpp
===================================================================
--- unittests/Support/TargetParserTest.cpp
+++ unittests/Support/TargetParserTest.cpp
@@ -989,7 +989,9 @@
                               {"rng", "norng", "+rand", "-rand"},
                               {"memtag", "nomemtag", "+mte", "-mte"},
                               {"ssbs", "nossbs", "+ssbs", "-ssbs"},
-                              {"sb", "nosb", "+sb", "-sb"}};
+                              {"sb", "nosb", "+sb", "-sb"},
+                              {"predres", "nopredres", "+predres", "-predres"}
+};
 
   for (unsigned i = 0; i < array_lengthof(ArchExt); i++) {
     EXPECT_EQ(StringRef(ArchExt[i][2]),
Index: include/llvm/Support/AArch64TargetParser.h
===================================================================
--- include/llvm/Support/AArch64TargetParser.h
+++ include/llvm/Support/AArch64TargetParser.h
@@ -49,6 +49,7 @@
   AEK_MTE =         1 << 19,
   AEK_SSBS =        1 << 20,
   AEK_SB =          1 << 21,
+  AEK_PREDRES =     1 << 22,
 };
 
 enum class ArchKind {
Index: include/llvm/Support/AArch64TargetParser.def
===================================================================
--- include/llvm/Support/AArch64TargetParser.def
+++ include/llvm/Support/AArch64TargetParser.def
@@ -74,6 +74,7 @@
 AARCH64_ARCH_EXT_NAME("memtag",   AArch64::AEK_MTE,      "+mte",   "-mte")
 AARCH64_ARCH_EXT_NAME("ssbs",     AArch64::AEK_SSBS,     "+ssbs",  "-ssbs")
 AARCH64_ARCH_EXT_NAME("sb",       AArch64::AEK_SB,       "+sb",    "-sb")
+AARCH64_ARCH_EXT_NAME("predres",  AArch64::AEK_PREDRES,  "+predres", "-predres")
 #undef AARCH64_ARCH_EXT_NAME
 
 #ifndef AARCH64_CPU_NAME


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56007.179294.patch
Type: text/x-patch
Size: 1720 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181221/2d038532/attachment.bin>


More information about the llvm-commits mailing list