This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ARM] hard VFP calling convention support [2/3]
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: gcc patches <gcc-patches at gcc dot gnu dot org>
- Cc: janis187 at us dot ibm dot com
- Date: Mon, 08 Dec 2008 17:02:39 +0000
- Subject: Re: [ARM] hard VFP calling convention support [2/3]
- References: <1228755497.17641.20.camel@pc960.cambridge.arm.com>
Changes to the testsuite (there are new tests to add, but these will
come shortly).
* testsuite/lib/target-supports.exp
(check_effective_target_arm_hard_vfp_ok): New hook.
(check_effective_target_arm_neon_ok): Improve test for neon
availability.
* testsuite/gcc.target/arm/eabi1.c: Only run test in base variant.
Index: testsuite/gcc.target/arm/eabi1.c
===================================================================
--- testsuite/gcc.target/arm/eabi1.c (revision 142389)
+++ testsuite/gcc.target/arm/eabi1.c (working copy)
@@ -1,4 +1,5 @@
/* { dg-do run { target arm*-*-symbianelf* arm*-*-eabi* } } */
+/* { dg-skip-if "Test is specific to base abi variant" { arm*-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=soft -mfloat-abi=softfp" } } */
/* { dg-options "" } */
/* This file tests most of the non-C++ run-time helper functions
Index: testsuite/lib/target-supports.exp
===================================================================
--- testsuite/lib/target-supports.exp (revision 142389)
+++ testsuite/lib/target-supports.exp (working copy)
@@ -1266,6 +1266,20 @@ proc check_effective_target_arm_vfp_ok {
}
}
+# Return 1 if this is an ARM target supporting -mfpu=vfp
+# -mfloat-abi=hard. Some multilibs may be incompatible with these
+# options.
+
+proc check_effective_target_arm_hard_vfp_ok { } {
+ if { [check_effective_target_arm32] } {
+ return [check_no_compiler_messages arm_hard_vfp_ok object {
+ int dummy;
+ } "-mfpu=vfp -mfloat-abi=hard"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if this is an ARM target supporting -mfpu=neon
# -mfloat-abi=softfp. Some multilibs may be incompatible with these
# options.
@@ -1273,6 +1287,7 @@ proc check_effective_target_arm_vfp_ok {
proc check_effective_target_arm_neon_ok { } {
if { [check_effective_target_arm32] } {
return [check_no_compiler_messages arm_neon_ok object {
+ #include "arm-neon.h"
int dummy;
} "-mfpu=neon -mfloat-abi=softfp"]
} else {