[PATCH] D117693: [llvm][AArch64] Accept armv8.8 "hbc" and "mops" in .arch_extension directive

David Spickett via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 20 01:16:19 PST 2022


This revision was automatically updated to reflect the committed changes.
Closed by commit rG6732c4389786: [llvm][AArch64] Accept armv8.8 "hbc" and "mops" in .arch_extension directive (authored by DavidSpickett).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117693/new/

https://reviews.llvm.org/D117693

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
@@ -83,3 +83,12 @@
 .arch_extension flagm
 cfinv
 // CHECK: cfinv
+
+.arch_extension hbc
+lbl:
+    bc.eq lbl
+// CHECK: bc.eq lbl
+
+.arch_extension mops
+cpyfp [x0]!, [x1]!, x2!
+// CHECK: cpyfp [x0]!, [x1]!, x2!
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
@@ -1,5 +1,5 @@
 // RUN: not llvm-mc -triple aarch64 \
-// RUN: -mattr=+crc,+sm4,+sha3,+sha2,+aes,+fp,+neon,+ras,+lse,+predres,+ccdp,+mte,+tlb-rmi,+pan-rwv,+ccpp,+rcpc,+ls64,+flagm \
+// RUN: -mattr=+crc,+sm4,+sha3,+sha2,+aes,+fp,+neon,+ras,+lse,+predres,+ccdp,+mte,+tlb-rmi,+pan-rwv,+ccpp,+rcpc,+ls64,+flagm,+hbc,+mops \
 // RUN: -filetype asm -o - %s 2>&1 | FileCheck %s
 
 .arch_extension axp64
@@ -131,3 +131,18 @@
 cfinv
 // CHECK: [[@LINE-1]]:1: error: instruction requires: flagm
 // CHECK-NEXT: cfinv
+
+lbl:
+bc.eq lbl
+// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: hbc
+.arch_extension nohbc
+bc.eq lbl
+// CHECK: [[@LINE-1]]:1: error: instruction requires: hbc
+// CHECK-NEXT: bc.eq lbl
+
+cpyfp [x0]!, [x1]!, x2!
+// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: mops
+.arch_extension nomops
+cpyfp [x0]!, [x1]!, x2!
+// CHECK: [[@LINE-1]]:1: error: instruction requires: mops
+// CHECK-NEXT: cpyfp [x0]!, [x1]!, x2!
Index: llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
===================================================================
--- llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -3284,6 +3284,8 @@
     {"sme", {AArch64::FeatureSME}},
     {"sme-f64", {AArch64::FeatureSMEF64}},
     {"sme-i64", {AArch64::FeatureSMEI64}},
+    {"hbc", {AArch64::FeatureHBC}},
+    {"mops", {AArch64::FeatureMOPS}},
     // FIXME: Unsupported extensions
     {"lor", {}},
     {"rdma", {}},


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117693.401543.patch
Type: text/x-patch
Size: 2192 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220120/3eeaa497/attachment.bin>


More information about the llvm-commits mailing list