This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: head: MIPS: A workaround for the R4400MC divide/shift erratum
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 01 Mar 2004 18:19:47 +0000
- Subject: Re: head: MIPS: A workaround for the R4400MC divide/shift erratum
- References: <Pine.LNX.4.55.0403011621520.1962@jurand.ds.pg.gda.pl>
"Maciej W. Rozycki" <macro@ds2.pg.gda.pl> writes:
> There is a divide/shift erratum in all versions of the R4400MC and the
> R4400MC, similar to the one in the R4000, I've sent a patch for
> previously. Here's a workaround, taking the same precautions as for the
> other erratum. See the patch for a description of the faulting condition.
>
> 2004-03-01 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
>
> * config/mips/mips.h (MASK_FIX_SB1): Bump.
> (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
> (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
> config/mips/mips.c (mips_idiv_insns): Take TARGET_FIX_R4400 into
> account.
> (mips_output_division): Likewise.
> (override_options): Make -march=r4400 imply -mfix-r4400 by default.
>
> The patch was tested by building a cross-compiler for the mips64el-linux
> target, then building a Linux kernel.
Looks good. I'll do a bootstrap & regression test on irix and install
if all goes well.
Richard