+2014-02-11 Renlin Li <Renlin.Li@arm.com>
+
+ * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
+ add_options_for_arm_vfp3.
+
2014-02-11 Jeff Law <law@redhat.com>
PR middle-end/54041
ARM target supports @code{-mfpu=vfp -mfloat-abi=softfp}.
Some multilibs may be incompatible with these options.
+@item arm_vfp3_ok
+ARM target supports @code{-mfpu=vfp3 -mfloat-abi=softfp}.
+Some multilibs may be incompatible with these options.
+
@item arm_v8_vfp_ok
ARM target supports @code{-mfpu=fp-armv8 -mfloat-abi=softfp}.
Some multilibs may be incompatible with these options.
support this feature, and only then in certain modes; see
the @ref{arm_neon_ok,,arm_neon_fp16_ok effective target keyword}.
+@item arm_vfp3
+arm vfp3 floating point support; see
+the @ref{arm_vfp3_ok,,arm_vfp3_ok effective target keyword}.
+
@item bind_pic_locally
Add the target-specific flags needed to enable functions to bind
locally when using pic/PIC passes in the testsuite.
+2014-02-11 Renlin Li <Renlin.Li@arm.com>
+
+ * gcc.target/arm/fixed_float_conversion.c: Add arm_vfp3 option.
+ * lib/target-supports.exp (check_effective_target_arm_vfp3_ok): New.
+ (add_options_for_arm_vfp3): New.
+
2014-02-11 Jeff Law <law@redhat.com>
PR middle-end/54041
/* Check that vcvt is used for fixed and float data conversions. */
/* { dg-do compile } */
-/* { dg-options "-O1 -mfpu=vfp3" } */
-/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-require-effective-target arm_vfp3_ok } */
+/* { dg-options "-O1" } */
+/* { dg-add-options arm_vfp3 } */
float
fixed_to_float (int i)
}
}
+# Return 1 if this is an ARM target supporting -mfpu=vfp3
+# -mfloat-abi=softfp.
+
+proc check_effective_target_arm_vfp3_ok { } {
+ if { [check_effective_target_arm32] } {
+ return [check_no_compiler_messages arm_vfp3_ok object {
+ int dummy;
+ } "-mfpu=vfp3 -mfloat-abi=softfp"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if this is an ARM target supporting -mfpu=fp-armv8
# -mfloat-abi=softfp.
proc check_effective_target_arm_v8_vfp_ok {} {
return "$flags $et_arm_neonv2_flags"
}
+# Add the options needed for vfp3.
+proc add_options_for_arm_vfp3 { flags } {
+ if { ! [check_effective_target_arm_vfp3_ok] } {
+ return "$flags"
+ }
+ return "$flags -mfpu=vfp3 -mfloat-abi=softfp"
+}
+
# Return 1 if this is an ARM target supporting -mfpu=neon
# -mfloat-abi=softfp or equivalent options. Some multilibs may be
# incompatible with these options. Also set et_arm_neon_flags to the