This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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},


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]