From ccbc8bd4d4df71c9a55722761bf9c7d3c924d8b9 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw <rearnsha@arm.com> Date: Fri, 3 Nov 2023 10:34:40 +0000 Subject: [PATCH] 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. --- gcc/testsuite/lib/target-supports.exp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d414cddf4dcd..ee173b9fb6bd 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -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) -- GitLab