diff options
author | Renlin Li <renlin.li@arm.com> | 2014-02-11 15:26:46 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-02-11 15:26:46 +0000 |
commit | 6d3715b90d7c024028af78b512c6796d3369f705 (patch) | |
tree | 6b5da49fe04d515d38fa876c2ecfba915aaaa572 /gcc | |
parent | cddddfff5b66e27088a746554aaa6f6315022ce8 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 8 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/fixed_float_conversion.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 21 |
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 |