This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ARM fpv4-sp-d16
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 19 Nov 2009 12:09:21 +0000
- Subject: ARM fpv4-sp-d16
The patch below adds support for the ARM single precision VFPv4 variant. All
the bits are already there, this just exposes it to the user. The funny naming
is at ARM's request.
Tested on arm-none-eabi
Applied to SVN trunk.
Paul
2009-11-19 Paul Brook <paul@codesourcery.com>
gcc/
* config.gcc: Add new ARM --with-fpu options.
* doc/invoke.texi: Docuent ARM -mfpu=fpv4-sp-d16.
* config/arm/arm.c (all_fpus): Add fpv4-sp-d16.
Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi (revision 154327)
+++ gcc/doc/invoke.texi (working copy)
@@ -9795,8 +9795,8 @@ This specifies what floating point hardw
available on the target. Permissible names are: @samp{fpa}, @samp{fpe2},
@samp{fpe3}, @samp{maverick}, @samp{vfp}, @samp{vfpv3}, @samp{vfpv3-fp16},
@samp{vfpv3-d16}, @samp{vfpv3-d16-fp16}, @samp{vfpv3xd}, @samp{vfpv3xd-fp16},
-@samp{neon}, @samp{neon-fp16}, @samp{vfpv4}, @samp{vfpv4-d16} and
-@samp{neon-vfpv4}.
+@samp{neon}, @samp{neon-fp16}, @samp{vfpv4}, @samp{vfpv4-d16},
+@samp{fpv4-sp-d16} and @samp{neon-vfpv4}.
@option{-mfp} and @option{-mfpe} are synonyms for
@option{-mfpu}=@samp{fpe}@var{number}, for compatibility with older versions
of GCC@.
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (revision 154327)
+++ gcc/config.gcc (working copy)
@@ -2825,7 +2825,7 @@ case "${target}" in
case "$with_fpu" in
"" \
- | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | vfpv3 | vfpv3-fp16 | vfpv3-
d16 | vfpv3-d16-fp16 | vfpv3xd | vfpv3xd-fp16 | neon | neon-fp16 )
+ | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | vfpv3 | vfpv3-fp16 | vfpv3-
d16 | vfpv3-d16-fp16 | vfpv3xd | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 |
vfpv4-d16 | fpv4-sp-d16 | neon-vfpv4)
# OK
;;
*)
Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c (revision 154327)
+++ gcc/config/arm/arm.c (working copy)
@@ -832,6 +832,7 @@ static const struct arm_fpu_desc all_fpu
{"neon-fp16", ARM_FP_MODEL_VFP, 3, VFP_REG_D32, true , true },
{"vfpv4", ARM_FP_MODEL_VFP, 4, VFP_REG_D32, false, true},
{"vfpv4-d16", ARM_FP_MODEL_VFP, 4, VFP_REG_D16, false, true},
+ {"fpv4-sp-d16", ARM_FP_MODEL_VFP, 4, VFP_REG_SINGLE, false, true},
{"neon-vfpv4", ARM_FP_MODEL_VFP, 4, VFP_REG_D32, true, true},
/* Compatibility aliases. */
{"vfp3", ARM_FP_MODEL_VFP, 3, VFP_REG_D32, false, false},