]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix vect_long_mult for aarch64 [PR109705]
authorAndrew Pinski <quic_apinski@quicinc.com>
Wed, 24 Jan 2024 08:00:34 +0000 (00:00 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Wed, 24 Jan 2024 18:21:31 +0000 (10:21 -0800)
On aarch64, vectorization of `long` multiply can be done if SVE is enabled
or if long is 32bit (ILP32). It can also be done for constants too but there
is no effective target test for that just yet.

Build and tested on aarch64-linux-gnu with no regressions (also tested with SVE enabled).

gcc/testsuite/ChangeLog:

PR testsuite/109705
* lib/target-supports.exp (check_effective_target_vect_long_mult):
Fix aarch64*-*-* checks.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/testsuite/lib/target-supports.exp

index 73360cd3a0d5553ff7586b48e0bb17298e6612f0..82520119026b449ca2fba251d8733f0b45d1a045 100644 (file)
@@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } {
              && [check_effective_target_has_arch_pwr10])
         || [is-effective-target arm_neon]
         || ([istarget sparc*-*-*] && [check_effective_target_ilp32])
-        || [istarget aarch64*-*-*]
+        || ([istarget aarch64*-*-*]
+            && ([check_effective_target_ilp32]
+                || check_effective_target_aarch64_sve]))
         || ([istarget mips*-*-*]
              && [et-is-effective-target mips_msa])
         || ([istarget riscv*-*-*]