aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRenlin Li <renlin.li@arm.com>2014-02-11 15:26:46 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2014-02-11 15:26:46 +0000
commit6d3715b90d7c024028af78b512c6796d3369f705 (patch)
tree6b5da49fe04d515d38fa876c2ecfba915aaaa572 /gcc
parentcddddfff5b66e27088a746554aaa6f6315022ce8 (diff)
downloadgcc-6d3715b90d7c024028af78b512c6796d3369f705.zip
gcc-6d3715b90d7c024028af78b512c6796d3369f705.tar.gz
gcc-6d3715b90d7c024028af78b512c6796d3369f705.tar.bz2
sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and add_options_for_arm_vfp3.
2014-02-11 Renlin Li <Renlin.Li@arm.com> gcc/ * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and add_options_for_arm_vfp3. gcc/testsuite/ * 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. From-SVN: r207691
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi8
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/arm/fixed_float_conversion.c5
-rw-r--r--gcc/testsuite/lib/target-supports.exp21
5 files changed, 43 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b2d0f83..e425b02 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index f9bc880..1ea5753 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1551,6 +1551,10 @@ ARM target generates Thumb-2 code for @code{-mthumb}.
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.
@@ -1954,6 +1958,10 @@ NEON and half-precision floating point support. Only ARM targets
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.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2333347..c287b8d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/gcc/testsuite/gcc.target/arm/fixed_float_conversion.c b/gcc/testsuite/gcc.target/arm/fixed_float_conversion.c
index a8befd0..078b103 100644
--- a/gcc/testsuite/gcc.target/arm/fixed_float_conversion.c
+++ b/gcc/testsuite/gcc.target/arm/fixed_float_conversion.c
@@ -1,7 +1,8 @@
/* 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)
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index b1c397c..3a8aa98 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2259,6 +2259,19 @@ proc check_effective_target_arm_vfp_ok { } {
}
}
+# 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 {} {
@@ -2406,6 +2419,14 @@ proc add_options_for_arm_neonv2 { flags } {
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