arm: testsuite: correctly detect hard_float

Add an arm-specific test to check_effective_target_hard_float for
Arm to handle cases where we only have single-precision FP in hardware.

gcc/testsuite:

	* lib/target-supports.exp (check_effective_target_hard_float): Add
	arm-specific test.
This commit is contained in:
Richard Earnshaw 2023-11-03 10:34:40 +00:00
parent 04367b11ec
commit ccbc8bd4d4

View file

@ -1420,6 +1420,17 @@ proc check_effective_target_mpaired_single { args } {
# Return true if the target has access to FPU instructions.
proc check_effective_target_hard_float { } {
# This should work on cores that only have single-precision,
# and should also correctly handle legacy cores that had thumb1 and
# lacked FP support for that, but had it in Arm state.
if { [istarget arm*-*-*] } {
return [check_no_compiler_messages hard_float assembly {
#if __ARM_FP == 0
#error __arm_soft_float
#endif
}]
}
if { [istarget loongarch*-*-*] } {
return [check_no_compiler_messages hard_float assembly {
#if (defined __loongarch_soft_float)