Hello Richard, Sorry in the last days, I was not at home. So I couldn't test it until now.
> "Jürgen Urban" <juergenur...@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