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,
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
> 

-- 

Reply via email to