]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and add_options_for_arm...
authorRenlin Li <renlin.li@arm.com>
Tue, 11 Feb 2014 15:26:46 +0000 (15:26 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 11 Feb 2014 15:26:46 +0000 (15:26 +0000)
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

gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/fixed_float_conversion.c
gcc/testsuite/lib/target-supports.exp

index b2d0f8370f5597fa5d48423f5381671a9bc99772..e425b02682895231a762fbbdb70b7b1427dfc2f4 100644 (file)
@@ -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
index f9bc880560910cd5088e58d595f0f609884c2b60..1ea57535e3373f5a6bdc5e926d272bb70ce8762b 100644 (file)
@@ -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.
index 2333347dee05033ff314959a1ddb993dbfa5ce65..c287b8da7723385e173337c01e2abb10907200ba 100644 (file)
@@ -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
index a8befd0fba7f51fb890157fa96fb2a2968556b55..078b103745d6b9b7dfb73be22f67041924e64612 100644 (file)
@@ -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)
index b1c397c221bcf693ef08eec3a982483a8abd3a6e..3a8aa9856c3f68c99a1b6b5035368cc17312d9b4 100644 (file)
@@ -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