[PATCH] D83685: [AArch64][AsmParser] Add rcpc support in .arch_extension

Victor Campos via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 08:25:28 PDT 2020


vhscampos created this revision.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.

AArch64 does not support enabling rcpc via .arch_extension in assembly.
GCC, on the other hand, does.

This patch adds 'rcpc' as a valid value to .arch_extension handling.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83685

Files:
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/test/MC/AArch64/directive-arch_extension-negative.s
  llvm/test/MC/AArch64/directive-arch_extension.s


Index: llvm/test/MC/AArch64/directive-arch_extension.s
===================================================================
--- llvm/test/MC/AArch64/directive-arch_extension.s
+++ llvm/test/MC/AArch64/directive-arch_extension.s
@@ -59,3 +59,7 @@
 .arch_extension ccpp
 dc cvap, x7
 // CHECK: dc cvap, x7
+
+.arch_extension rcpc
+ldapr x0, [x1]
+// CHECK: ldapr x0, [x1]
Index: llvm/test/MC/AArch64/directive-arch_extension-negative.s
===================================================================
--- llvm/test/MC/AArch64/directive-arch_extension-negative.s
+++ llvm/test/MC/AArch64/directive-arch_extension-negative.s
@@ -78,3 +78,8 @@
 dc cvap, x7
 // CHECK: error: DC CVAP requires ccpp
 // CHECK-NEXT: dc cvap, x7
+
+.arch_extension norcpc
+ldapr x0, [x1]
+// CHECK: error: instruction requires: rcpc
+// CHECK-NEXT: ldapr x0, [x1]
Index: llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
===================================================================
--- llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -2844,6 +2844,7 @@
     {"tlb-rmi", {AArch64::FeatureTLB_RMI}},
     {"pan-rwv", {AArch64::FeaturePAN_RWV}},
     {"ccpp", {AArch64::FeatureCCPP}},
+    {"rcpc", {AArch64::FeatureRCPC}},
     {"sve", {AArch64::FeatureSVE}},
     {"sve2", {AArch64::FeatureSVE2}},
     {"sve2-aes", {AArch64::FeatureSVE2AES}},


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83685.277443.patch
Type: text/x-patch
Size: 1400 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200713/9b4fc7a4/attachment.bin>


More information about the llvm-commits mailing list