[PATCH] Basic support for MIPS r5900

Jürgen Urban JuergenUrban@gmx.de
Mon Jun 24 08:07:00 GMT 2013


Hello Richard,

Am 23.06.2013 um 22:21 schrieb Richard Sandiford <rdsandiford@googlemail.com>:

> "Jürgen Urban" <JuergenUrban@gmx.de> writes:
>> 
>> In the native PS2SDK (i.e. no Linux) I detected that there are undefined
>> references to `__fixtfsi', `__floatsitf', `__subtf3', `__multf3',
>> __extenddftf2', `__lttf2' and `__gttf2'. These are the functions for
>> handling "long double".
>> There is a fix needed for this in libgcc. I attached 2 patches to this
>> e-mail. There should be only one of the patches used to fix this.
>> The first one fixes the problem for all mips systems. The second one
>> fixes this only for r5900. I think it is a general problem. I assume the
>> undefined references could appear on all mips64 systems which are not
>> Linux. So the first patch should be applied.
> 
> The second patch is right.  Not all targets have 128-bit long doubles,
> so t-tpbit is intentionally an opt-in rather than opt-out thing.
> 
> E.g. mips*-sde-elf and mips*-mti-elf both use:
> 
> #undef LONG_DOUBLE_TYPE_SIZE
> #define LONG_DOUBLE_TYPE_SIZE 64
> 
> to get a form of n32 in which long doubles are the same as doubles.
> 
> Do you want to stick with 128-bit long doubles for PS2, or would you
> prefer to do what SDE does?

I prefer shorter long doubles because of the performance impact. For 32 bit hard float we may need it. Can you change it or do I need to submit a patch?

Best regards
Jürgen


More information about the Gcc-patches mailing list