aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2025-03-11 10:48:54 +0000
committerRichard Earnshaw <rearnsha@arm.com>2025-03-11 11:02:14 +0000
commit1b7a05770833eb210783ec8babd0027ec237d191 (patch)
tree501a09bd8434dad9a9fe13b671fed6700892bdb2
parent35ba44f5eca80679e2d61fcb0169a182df9bd073 (diff)
downloadgcc-1b7a05770833eb210783ec8babd0027ec237d191.zip
gcc-1b7a05770833eb210783ec8babd0027ec237d191.tar.gz
gcc-1b7a05770833eb210783ec8babd0027ec237d191.tar.bz2
arm: testsuite: fix arm_neon_h checks with conflicting cpu/arch
GCC will complain if the -mcpu flag specifies a different architecture to that specified in -march, but if the floating-point ABI is "soft", then differences in the floating-point architecture features are ignored. However, the arm_libc_fp_abi checks whether we change the FP ABI by adding -mfloat-abi=hard/softfp to override the defaults. If that fails it won't add anything. Unfortunately arm_neon_h_ok wasn't correctly checking whether the libc check had worked and just assumed that it would always add something to enable FP. That's insufficient and we need to consider this failure. We simply mark tests as unsupported in this case. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_arm_neon_h_ok_nocache): Return zero if check_effective_target_arm_libc_fp_abi_ok reports failure.
-rw-r--r--gcc/testsuite/lib/target-supports.exp3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a184ef3..c456f7d 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5167,7 +5167,8 @@ proc add_options_for_arm_libc_fp_abi { flags } {
proc check_effective_target_arm_neon_h_ok_nocache { } {
# none-arm or thumb1 cannot support neon, so there's no point in
# looking further.
- if { [istarget arm*-*-*] } {
+ if { [istarget arm*-*-*]
+ && [check_effective_target_arm_libc_fp_abi_ok]} {
global et_arm_neon_h_flags
set base_flags [add_options_for_arm_libc_fp_abi ""]
foreach flags {"" "-mfpu=auto" "-marm" "-marm -mfpu=auto" \