On 18/12/2025 10:06, Tamar Christina wrote:
The 12/18/2025 09:42, Tejas Belagod wrote:
This patch enables ACLE macro __ARM_FEATURE_SVE_PREDICATE_OPERATORS to indicate
that C/C++ language operations are available natively on SVE ACLE type svbool_t.
gcc/
* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_SVE_PREDICATE_OPERATORS.
gcc/testsuite
* gcc.target/aarch64/sve/acle/general/attributes_1.c: Update test for
__ARM_FEATURE_SVE_PREDICATE_OPERATORS.
* gcc.target/aarch64/sve/acle/general/attributes_9.c: New.
Ok.
Thanks, now pushed to master.
Thanks,
Tejas.
Thanks,
Tamar
---
gcc/config/aarch64/aarch64-c.cc | 3 +++
.../gcc.target/aarch64/sve/acle/general/attributes_1.c | 4 ++++
.../gcc.target/aarch64/sve/acle/general/attributes_9.c | 9 +++++++++
3 files changed, 16 insertions(+)
create mode 100644
gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_9.c
diff --git a/gcc/config/aarch64/aarch64-c.cc b/gcc/config/aarch64/aarch64-c.cc
index de4444bacb7..04cd7c354e5 100644
--- a/gcc/config/aarch64/aarch64-c.cc
+++ b/gcc/config/aarch64/aarch64-c.cc
@@ -199,6 +199,7 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)
aarch64_def_or_undef (TARGET_SVE, "__ARM_FEATURE_SVE", pfile);
cpp_undef (pfile, "__ARM_FEATURE_SVE_BITS");
cpp_undef (pfile, "__ARM_FEATURE_SVE_VECTOR_OPERATORS");
+ cpp_undef (pfile, "__ARM_FEATURE_SVE_PREDICATE_OPERATORS");
if (TARGET_SVE)
{
int bits;
@@ -210,6 +211,8 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)
}
builtin_define_with_int_value ("__ARM_FEATURE_SVE_BITS", bits);
builtin_define_with_int_value ("__ARM_FEATURE_SVE_VECTOR_OPERATORS",
ops);
+ builtin_define_with_int_value ("__ARM_FEATURE_SVE_PREDICATE_OPERATORS",
+ ops);
}
aarch64_def_or_undef (TARGET_SVE_I8MM,
"__ARM_FEATURE_SVE_MATMUL_INT8", pfile);
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_1.c
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_1.c
index 17acfc32e78..e5b71eb77b8 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_1.c
@@ -10,6 +10,10 @@
#error "__ARM_FEATURE_SVE_VECTOR_OPERATORS should be equal to 1"
#endif
+#if __ARM_FEATURE_SVE_PREDICATE_OPERATORS != 1
+#error "__ARM_FEATURE_SVE_PREDICATE_OPERATORS should be equal to 1"
+#endif
+
#ifndef __cplusplus
#define alignof _Alignof
#endif
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_9.c
b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_9.c
new file mode 100644
index 00000000000..ab7b9eb1bc1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/attributes_9.c
@@ -0,0 +1,9 @@
+#include <arm_sve.h>
+
+#if __ARM_FEATURE_SVE_VECTOR_OPERATORS != 2
+#error "__ARM_FEATURE_SVE_VECTOR_OPERATORS should be equal to 2"
+#endif
+
+#if __ARM_FEATURE_SVE_PREDICATE_OPERATORS != 2
+#error "__ARM_FEATURE_SVE_PREDICATE_OPERATORS should be equal to 2"
+#endif
--
2.34.1