Aw: Re: [PATCH] FPU IEEE 754 for MIPS r5900
"Jürgen Urban"
JuergenUrban@gmx.de
Thu Jul 25 18:07:00 GMT 2013
Hello Richard,
Sorry in the last days, I was not at home. So I couldn't test it until now.
> "Jürgen Urban" <JuergenUrban@gmx.de> writes:
> > Index: gcc/config.gcc
> > ===================================================================
> > --- gcc/config.gcc (Revision 200583)
> > +++ gcc/config.gcc (Arbeitskopie)
> > @@ -3080,7 +3080,7 @@
> > esac
> > fi
> >
> > -# Infer a default setting for --with-float.
> > +# Infer a default setting for --with-float and --with-fpu.
> > if test x$with_float = x; then
> > case ${target} in
> > mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
> > @@ -3089,6 +3089,17 @@
> > with_float=soft
> > ;;
> > esac
> > +else
> > + case ${target} in
> > + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*)
> > + if test $with_float = hard; then
> > + if test x$with_fpu = x; then
> > + # The FPU of the R5900 is 32 bit.
> > + with_fpu=single
> > + fi
> > + fi
> > + ;;
> > + esac
> > fi
>
> I think the --with-fpu default should be independent of the --with-float
> default. Passing -mhard-float to the default soft-float configuration
> should produce the same code as configuring with --with-float=hard.
OK. I hoped to get more software working on the PS2 when the default is the same as on other mips64 systems with soft float.
> > Index: gcc/config/mips/mips.c
> > ===================================================================
> > --- gcc/config/mips/mips.c (Revision 200583)
> > +++ gcc/config/mips/mips.c (Arbeitskopie)
> > @@ -16830,6 +16830,19 @@
> > target_flags &= ~MASK_FLOAT64;
> > }
> >
> > + if (TARGET_HARD_FLOAT_ABI && TARGET_FLOAT64 && TARGET_MIPS5900)
> > + {
> > + /* FPU of r5900 only supports 32 bit. */
> > + error ("unsupported combination: %s", "-march=r5900 -mfp64 -mhard-float");
> > + }
> > +
> > + if (TARGET_HARD_FLOAT_ABI && TARGET_DOUBLE_FLOAT && TARGET_MIPS5900)
> > + {
> > + /* FPU of r5900 only supports 32 bit. */
> > + error ("unsupported combination: %s",
> > + "-march=r5900 -mdouble-float -mhard-float");
> > + }
>
> Only one of these should be needed, since we complain about -mfp64
> -msingle-float earlier in the function. Also, the coding conventions
> say that there should be no braces for single-statement if blocks.
>
> Here's what I installed. Please let me know if I managed to mangle
> things somehow.
>
The patch is OK and tested.
Best regards
Jürgen
More information about the Gcc-patches
mailing list