invoke.texi (mfix-rm7000, [...]): Document.

2013-11-19  Catherine Moore  <clm@codesourcery.com>

	* doc/invoke.texi (mfix-rm7000, mno-fix-rm7000): Document.
	* config/mips/mips.opt (mfix-rm7000): New option.
	* config/mips/mips.h (ASM_SPEC): Handle mfix-rm7000.
	* config/mips/mips.c (mips_reorg_process_insns): Disable
	noreorder for TARGET_FIX_RM7000.

From-SVN: r205054
This commit is contained in:
Catherine Moore 2013-11-19 16:30:54 -05:00 committed by Catherine Moore
parent b327149a84
commit faaa3afb19
5 changed files with 28 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2013-11-19 Catherine Moore <clm@codesourcery.com>
* doc/invoke.texi (mfix-rm7000, mno-fix-rm7000): Document.
* config/mips/mips.opt (mfix-rm7000): New option.
* config/mips/mips.h (ASM_SPEC): Handle mfix-rm7000.
* config/mips/mips.c (mips_reorg_process_insns): Disable
noreorder for TARGET_FIX_RM7000.
2013-11-19 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh-c.c: Fix typo in include of file attribs.h.

View File

@ -16076,10 +16076,13 @@ mips_reorg_process_insns (void)
if (crtl->profile)
cfun->machine->all_noreorder_p = false;
/* Code compiled with -mfix-vr4120 or -mfix-24k can't be all noreorder
because we rely on the assembler to work around some errata.
The r5900 too has several bugs. */
if (TARGET_FIX_VR4120 || TARGET_FIX_24K || TARGET_MIPS5900)
/* Code compiled with -mfix-vr4120, -mfix-rm7000 or -mfix-24k can't be
all noreorder because we rely on the assembler to work around some
errata. The R5900 too has several bugs. */
if (TARGET_FIX_VR4120
|| TARGET_FIX_RM7000
|| TARGET_FIX_24K
|| TARGET_MIPS5900)
cfun->machine->all_noreorder_p = false;
/* The same is true for -mfix-vr4130 if we might generate MFLO or

View File

@ -1167,6 +1167,7 @@ struct mips_cpu_info {
%{meva} %{mno-eva} \
%{msmartmips} %{mno-smartmips} \
%{mmt} %{mno-mt} \
%{mfix-rm7000} %{mno-fix-rm7000} \
%{mfix-vr4120} %{mfix-vr4130} \
%{mfix-24k} \
%{noasmopt:-O0; O0|fno-delayed-branch:-O1; O*:-O2; :-O1} \

View File

@ -165,6 +165,10 @@ mfix-r4400
Target Report Mask(FIX_R4400)
Work around certain R4400 errata
mfix-rm7000
Target Report Var(TARGET_FIX_RM7000)
Work around certain RM7000 errata
mfix-r10000
Target Report Mask(FIX_R10000)
Work around certain R10000 errata

View File

@ -796,7 +796,8 @@ Objective-C and Objective-C++ Dialects}.
-mmad -mno-mad -mimadd -mno-imadd -mfused-madd -mno-fused-madd -nocpp @gol
-mfix-24k -mno-fix-24k @gol
-mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400 @gol
-mfix-r10000 -mno-fix-r10000 -mfix-vr4120 -mno-fix-vr4120 @gol
-mfix-r10000 -mno-fix-r10000 -mfix-rm7000 -mno-fix-rm7000 @gol
-mfix-vr4120 -mno-fix-vr4120 @gol
-mfix-vr4130 -mno-fix-vr4130 -mfix-sb1 -mno-fix-sb1 @gol
-mflush-func=@var{func} -mno-flush-func @gol
-mbranch-cost=@var{num} -mbranch-likely -mno-branch-likely @gol
@ -17462,6 +17463,12 @@ branch-likely instructions. @option{-mfix-r10000} is the default when
@option{-march=r10000} is used; @option{-mno-fix-r10000} is the default
otherwise.
@item -mfix-rm7000
@itemx -mno-fix-rm7000
@opindex mfix-rm7000
Work around the RM7000 @code{dmult}/@code{dmultu} errata. The
workarounds are implemented by the assembler rather than by GCC@.
@item -mfix-vr4120
@itemx -mno-fix-vr4120
@opindex mfix-vr4120