https://gcc.gnu.org/g:a544a9c5bbfce013ab020f82acd2470d610fb3c8

commit r16-86-ga544a9c5bbfce013ab020f82acd2470d610fb3c8
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Tue Apr 22 17:19:15 2025 +0100

    aarch64: Define __ARM_FEATURE_FAMINMAX
    
    We implemented FAMINMAX ACLE support but failed to define the
    associated feature macro.
    
    gcc/
            * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
            __ARM_FEATURE_FAMINMAX.
    
    gcc/testsuite/
            * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test
            __ARM_FEATURE_FAMINMAX.

Diff:
---
 gcc/config/aarch64/aarch64-c.cc                         |  1 +
 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/gcc/config/aarch64/aarch64-c.cc b/gcc/config/aarch64/aarch64-c.cc
index d1e2ab9831da..98337b7f693b 100644
--- a/gcc/config/aarch64/aarch64-c.cc
+++ b/gcc/config/aarch64/aarch64-c.cc
@@ -293,6 +293,7 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)
   aarch64_def_or_undef (TARGET_SME2, "__ARM_FEATURE_SME2", pfile);
   aarch64_def_or_undef (AARCH64_HAVE_ISA (SME2p1),
                        "__ARM_FEATURE_SME2p1", pfile);
+  aarch64_def_or_undef (TARGET_FAMINMAX, "__ARM_FEATURE_FAMINMAX", pfile);
 
   /* Not for ACLE, but required to keep "float.h" correct if we switch
      target between implementations that do or do not support ARMv8.2-A
diff --git a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c 
b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
index dcac6d5eb658..3799fb46df12 100644
--- a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
+++ b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
@@ -315,3 +315,18 @@
 #ifndef __ARM_FEATURE_FP8DOT2
 #error Foo
 #endif
+
+#pragma GCC target "arch=armv9.4-a"
+#ifdef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif
+
+#pragma GCC target "arch=armv9.5-a"
+#ifndef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif
+
+#pragma GCC target "arch=armv8-a+faminmax"
+#ifndef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif

Reply via email to