]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add support for FEAT_SME_FA64
authorAlice Carlotti <alice.carlotti@arm.com>
Thu, 9 Jul 2026 17:27:43 +0000 (18:27 +0100)
committerAlice Carlotti <alice.carlotti@arm.com>
Fri, 10 Jul 2026 15:09:06 +0000 (16:09 +0100)
Add "+sme-f64" to the list of architecture extensions.  This has already
been supported in LLVM for several years.

We don't need to update the feature requirements for any opcodes,
because FEAT_SME_FA64 only enables instructions that were already
available in non-streaming mode, and the feature checks don't know what
mode an instruction will be run under.

gas/config/tc-aarch64.c
gas/doc/c-aarch64.texi
gas/testsuite/gas/aarch64/sme.d
include/opcode/aarch64.h

index dddaa615ab8e406f2ea7b4bf329c391d65563ca1..cb1613b3bbe4169f3f25f5af09a962ae70467c79 100644 (file)
@@ -11154,6 +11154,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"sve-b16mm",                AARCH64_FEATURE (SVE_B16MM), AARCH64_FEATURE (SVE)},
   {"mtetc",            AARCH64_FEATURE (MTETC), AARCH64_FEATURE (MEMTAG)},
   {"tlbid",            AARCH64_FEATURE (TLBID), AARCH64_NO_FEATURES},
+  {"sme-fa64",         AARCH64_FEATURE (SME_FA64), AARCH64_FEATURES (2, SVE2, SME)},
   {NULL,               AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
 };
 
index 62744d36aa298a1344fa2bb43576255fc78211aa..6a9fa2f98f3d15b1978b0e967efd7df7486b7867 100644 (file)
@@ -324,6 +324,8 @@ automatically cause those extensions to be disabled.
  @tab Enable the SME2 F16F16 Extension.
 @item @code{sme-f64f64} @tab @code{sme}
  @tab Enable SME F64F64 Extension.
+@item @code{sme-fa64} @tab @code{sme}, @code{sve2}
+ @tab Enable SME F64F64 Extension.
 @item @code{sme-i16i64} @tab @code{sme}
  @tab Enable SME I16I64 Extension.
 @item @code{sme-lutv2} @tab
index 9317163790af853ef04e55925edd3e9b1e27d5f1..68f4baf2189aeb535d75f12ac2b4e6de88333021 100644 (file)
@@ -1,5 +1,6 @@
 #name: SME extension
 #as: -march=armv8-a+sme
+#as: -march=armv8-a+sme-fa64
 #objdump: -dr
 
 .*:     file format .*
index 81bdf3377866c39a60c47afd9bd6ff27b914f40f..e07cbb35a3c1843bde7938de0815d66ebfcb4172 100644 (file)
@@ -288,6 +288,8 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_MTETC,
   /* TLBI Domains.  */
   AARCH64_FEATURE_TLBID,
+  /* SME_FA64.  */
+  AARCH64_FEATURE_SME_FA64,
 
   /* Virtual features.  These are used to gate instructions that are enabled
      by either of two (or more) sets of command line flags.  */