aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2005-03-11 16:38:27 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2005-03-11 16:38:27 +0000
commit0ac40e7a866e3b149bdeacbf5cc36d1fe364a952 (patch)
tree6d67d7deaee3c8d2c5daab6e5ceec21a45c98736 /gcc/doc
parent266c6b40edea65bc1159fa60a229b7d8182412ff (diff)
downloadgcc-0ac40e7a866e3b149bdeacbf5cc36d1fe364a952.zip
gcc-0ac40e7a866e3b149bdeacbf5cc36d1fe364a952.tar.gz
gcc-0ac40e7a866e3b149bdeacbf5cc36d1fe364a952.tar.bz2
mips.h (mips_fix_vr4130_string): Declare.
* config/mips/mips.h (mips_fix_vr4130_string): Declare. (TARGET_FIX_VR4130): New macro. (TARGET_OPTIONS): Add -mfix-vr4130. (ISA_HAS_MACCHI): New macro. (ASM_SPEC): Add -mfix-vr4130. * config/mips/mips.c (mips_fix_vr4130_string): New variable. (override_options): Handle mips_fix_vr4130_string. (mips_avoid_hazards): Clear all_noreorder_p if we're working around VR4130 errata and the macc alternatives are not available. * config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand. (*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns. * config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130. (MULTILIB_DEFAULTS): Remove leading "march=". (DRIVER_SELF_SPECS): Likewise. Make -mfix-vr4130 imply -march=vr4130 if no architecture option is given. * config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the VR4130 multilibs. (MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs. * doc/invoke.texi: Document -mfix-vr4130. From-SVN: r96301
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e6ac138..a1ef8313 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -558,7 +558,8 @@ Objective-C and Objective-C++ Dialects}.
-mmemcpy -mno-memcpy -mlong-calls -mno-long-calls @gol
-mmad -mno-mad -mfused-madd -mno-fused-madd -nocpp @gol
-mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400 @gol
--mfix-vr4120 -mno-fix-vr4120 -mfix-sb1 -mno-fix-sb1 @gol
+-mfix-vr4120 -mno-fix-vr4120 -mfix-vr4130 @gol
+-mfix-sb1 -mno-fix-sb1 @gol
-mflush-func=@var{func} -mno-flush-func @gol
-mbranch-likely -mno-branch-likely @gol
-mfp-exceptions -mno-fp-exceptions @gol
@@ -9848,6 +9849,14 @@ the @code{mips64vr*-elf} configurations.
Other VR4120 errata require a nop to be inserted between certain pairs of
instructions. These errata are handled by the assembler, not by GCC itself.
+@item -mfix-vr4130
+@opindex mfix-vr4130
+Work around the VR4130 @code{mflo}/@code{mfhi} errata. The
+workarounds are implemented by the assembler rather than by GCC,
+although GCC will avoid using @code{mflo} and @code{mfhi} if the
+VR4130 @code{macc}, @code{macchi}, @code{dmacc} and @code{dmacchi}
+instructions are available instead.
+
@item -mfix-sb1
@itemx -mno-fix-sb1
@opindex mfix-sb1