diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2005-03-11 16:38:27 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2005-03-11 16:38:27 +0000 |
commit | 0ac40e7a866e3b149bdeacbf5cc36d1fe364a952 (patch) | |
tree | 6d67d7deaee3c8d2c5daab6e5ceec21a45c98736 /gcc/doc | |
parent | 266c6b40edea65bc1159fa60a229b7d8182412ff (diff) | |
download | gcc-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.texi | 11 |
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 |