https://gcc.gnu.org/g:c7847680cf18aaa26d607de5b3678c50470b9e87
commit r15-7197-gc7847680cf18aaa26d607de5b3678c50470b9e87 Author: Andrew Carlotti <andrew.carlo...@arm.com> Date: Fri Jan 10 19:19:19 2025 +0000 aarch64: Add command line support for armv9.5-a gcc/ChangeLog: * config/aarch64/aarch64-arches.def (V9_5A): New. * doc/invoke.texi: Document armv9.5-a option. gcc/testsuite/ChangeLog: * gcc.target/aarch64/simd/armv9p5.c: New test. Diff: --- gcc/config/aarch64/aarch64-arches.def | 1 + gcc/doc/invoke.texi | 1 + gcc/testsuite/gcc.target/aarch64/simd/armv9p5.c | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def index fd4881a8ebfb..dacb7b6f37a3 100644 --- a/gcc/config/aarch64/aarch64-arches.def +++ b/gcc/config/aarch64/aarch64-arches.def @@ -46,5 +46,6 @@ 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.5-a", generic_armv9_a, V9_5A, 9, (V9_4A, FAMINMAX, LUT)) #undef AARCH64_ARCH diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 2f5d60baadbe..819a68439342 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -21672,6 +21672,7 @@ and the features that they enable by default: @item @samp{armv9.2-a} @tab Armv9.2-A @tab @samp{armv9.1-a} @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.5-a} @tab Armv9.4-A @tab @samp{armv9.4-a}, @samp{+faminmax}, @samp{+lut} @item @samp{armv8-r} @tab Armv8-R @tab @samp{armv8-r} @end multitable diff --git a/gcc/testsuite/gcc.target/aarch64/simd/armv9p5.c b/gcc/testsuite/gcc.target/aarch64/simd/armv9p5.c new file mode 100644 index 000000000000..6df47b8de1cc --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/simd/armv9p5.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=armv9.5-a" } */ + +#include "arm_neon.h" + +int8x16_t foo (int8x16_t table, uint8x16_t indicies) +{ + return vluti2q_laneq_s8 (table, indicies, 1); +} + +float32x4_t bar (float32x4_t a, float32x4_t b) +{ + return vaminq_f32 (a, b); +}