From: Kyrylo Tkachov Date: Mon, 17 Mar 2025 15:24:18 +0000 (-0700) Subject: aarch64: Add +sve2p1 to -march=armv9.4-a flags X-Git-Tag: basepoints/gcc-16~1263 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d46be332818361d7a31065c6d46df7181505ab30;p=thirdparty%2Fgcc.git aarch64: Add +sve2p1 to -march=armv9.4-a flags The ArmARM says: "In an Armv9.4 implementation, if FEAT_SVE2 is implemented, FEAT_SVE2p1 is implemented." We should enable +sve2p1 as part of -march=armv9.4-a, which this patch does. This makes gcc consistent with gas. Bootstrapped and tested on aarch64-none-linux-gnu. Signed-off-by: Kyrylo Tkachov gcc/ * config/aarch64/aarch64-arches.def (...): Add SVE2p1. * doc/invoke.texi (AArch64 Options): Document +sve2p1 in -march=armv9.4-a. --- diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def index 34a792d6951..bf56fe9b444 100644 --- a/gcc/config/aarch64/aarch64-arches.def +++ b/gcc/config/aarch64/aarch64-arches.def @@ -45,7 +45,7 @@ AARCH64_ARCH("armv9-a", generic_armv9_a, V9A , 9, (V8_5A, SVE2)) AARCH64_ARCH("armv9.1-a", generic_armv9_a, V9_1A, 9, (V8_6A, V9A)) AARCH64_ARCH("armv9.2-a", generic_armv9_a, V9_2A, 9, (V8_7A, V9_1A)) AARCH64_ARCH("armv9.3-a", generic_armv9_a, V9_3A, 9, (V8_8A, V9_2A)) -AARCH64_ARCH("armv9.4-a", generic_armv9_a, V9_4A, 9, (V8_9A, V9_3A)) +AARCH64_ARCH("armv9.4-a", generic_armv9_a, V9_4A, 9, (V8_9A, V9_3A, SVE2p1)) AARCH64_ARCH("armv9.5-a", generic_armv9_a, V9_5A, 9, (V9_4A, CPA, FAMINMAX, LUT)) #undef AARCH64_ARCH diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 7bef9bbf1c0..1819bcdcdfb 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -21708,7 +21708,7 @@ and the features that they enable by default: @item @samp{armv9.1-a} @tab Armv9.1-A @tab @samp{armv9-a}, @samp{+bf16}, @samp{+i8mm} @item @samp{armv9.2-a} @tab Armv9.2-A @tab @samp{armv9.1-a}, @samp{+wfxt}, @samp{+xs} @item @samp{armv9.3-a} @tab Armv9.3-A @tab @samp{armv9.2-a}, @samp{+mops} -@item @samp{armv9.4-a} @tab Armv9.4-A @tab @samp{armv9.3-a} +@item @samp{armv9.4-a} @tab Armv9.4-A @tab @samp{armv9.3-a}, @samp{+sve2p1} @item @samp{armv9.5-a} @tab Armv9.4-A @tab @samp{armv9.4-a}, @samp{cpa}, @samp{+faminmax}, @samp{+lut} @item @samp{armv8-r} @tab Armv8-R @tab @samp{armv8-r} @end multitable