]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix ACLE macro __ARM_FEATURE_SVE_VECTOR_OPERATORS
authorTejas Belagod <tejas.belagod@arm.com>
Fri, 26 Jul 2024 09:17:12 +0000 (14:47 +0530)
committerTejas Belagod <tejas.belagod@arm.com>
Fri, 29 Nov 2024 11:24:17 +0000 (16:54 +0530)
This patch enables ACLE macro __ARM_FEATURE_SVE_VECTOR_OPERATORS to indicate
that C/C++ language operations are available natively on SVE ACLE types.

gcc/ChangeLog:

* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_SVE_VECTOR_OPERATORS.

gcc/config/aarch64/aarch64-c.cc

index 689c763cd458c2034e1c03e5c93442cf8824cd9a..3cc2c97c6d8e80724e75cec5fcc75de53090531a 100644 (file)
@@ -193,15 +193,19 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)
   aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", 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");
   if (TARGET_SVE)
     {
       int bits;
+      int ops = 1;
       if (!BITS_PER_SVE_VECTOR.is_constant (&bits))
-       bits = 0;
+       {
+         bits = 0;
+         ops = 2;
+       }
       builtin_define_with_int_value ("__ARM_FEATURE_SVE_BITS", bits);
+      builtin_define_with_int_value ("__ARM_FEATURE_SVE_VECTOR_OPERATORS", ops);
     }
-  aarch64_def_or_undef (TARGET_SVE, "__ARM_FEATURE_SVE_VECTOR_OPERATORS",
-                       pfile);
   aarch64_def_or_undef (TARGET_SVE_I8MM,
                        "__ARM_FEATURE_SVE_MATMUL_INT8", pfile);
   aarch64_def_or_undef (TARGET_SVE_F32MM,