The MIPS back end has an option -mno-float that is supported by
bare-metal configs using the SDE library. However, this option is not
properly documented in the manual, and MIPS_ARCH_FLOAT_SPEC doesn't know
about it as one of the explicit floating-point configuration changes
that should override architecture defaults. This patch addresses both
problems. OK to commit?
-Sandra
2012-07-30 Sandra Loosemore <san...@codesourcery.com>
Julian Brown <jul...@codesourcery.com>
gcc/
* doc/invoke.texi (MIPS Options): Document -mno-float.
* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
about -mno-float.
Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi (revision 189950)
+++ gcc/doc/invoke.texi (working copy)
@@ -733,7 +733,8 @@ Objective-C and Objective-C++ Dialects}.
-mabi=@var{abi} -mabicalls -mno-abicalls @gol
-mshared -mno-shared -mplt -mno-plt -mxgot -mno-xgot @gol
-mgp32 -mgp64 -mfp32 -mfp64 -mhard-float -msoft-float @gol
--msingle-float -mdouble-float -mdsp -mno-dsp -mdspr2 -mno-dspr2 @gol
+-mno-float -msingle-float -mdouble-float @gol
+-mdsp -mno-dsp -mdspr2 -mno-dspr2 @gol
-mmcu -mmno-mcu @gol
-mfpu=@var{fpu-type} @gol
-msmartmips -mno-smartmips @gol
@@ -15633,6 +15634,11 @@ Use floating-point coprocessor instructi
Do not use floating-point coprocessor instructions. Implement
floating-point calculations using library calls instead.
+@item -mno-float
+@opindex mno-float
+Prevents the use of all floating-point operations. This option is presently
+supported only by some bare-metal MIPS configurations.
+
@item -msingle-float
@opindex msingle-float
Assume that the floating-point coprocessor only supports single-precision
Index: gcc/config/mips/mips.h
===================================================================
--- gcc/config/mips/mips.h (revision 189950)
+++ gcc/config/mips/mips.h (working copy)
@@ -713,7 +713,7 @@ struct mips_cpu_info {
link-compatible. */
#define MIPS_ARCH_FLOAT_SPEC \
- "%{mhard-float|msoft-float|march=mips*:; \
+ "%{mhard-float|msoft-float|mno-float|march=mips*:; \
march=vr41*|march=m4k|march=4k*|march=24kc|march=24kec \
|march=34kc|march=74kc|march=1004kc|march=5kc \
|march=octeon|march=xlr: -msoft-float; \