This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: RE: RE: Re: [MIPS r5900] libgcc floating point fixes
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: "JÃrgen Urban" <JuergenUrban at gmx dot de>
- Cc: Richard Sandiford <rdsandiford at googlemail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "Eric Christopher (echristo at gmail dot com)" <echristo at gmail dot com>
- Date: Mon, 18 Aug 2014 09:59:40 +0000
- Subject: RE: RE: RE: Re: [MIPS r5900] libgcc floating point fixes
- Authentication-results: sourceware.org; auth=none
- References: <trinity-37357c54-bec5-48dd-bd67-0fb25e238bd3-1402862904892 at 3capp-gmx-bs04>, <87lhrw1bli dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com> <trinity-a1d0b6c9-8b19-47db-a4f7-3b4ac97e11cf-1405710022356 at 3capp-gmx-bs32>, <6D39441BF12EF246A7ABCE6654B0235320EAFEE7 at LEMAIL01 dot le dot imgtec dot org> <trinity-23cffbb1-6d7e-45f8-acb0-eb58d6b30fbf-1405872012472 at 3capp-gmx-bs18>, <6D39441BF12EF246A7ABCE6654B0235320EB02A8 at LEMAIL01 dot le dot imgtec dot org> <trinity-c9f9ad07-04f6-495d-ac13-8cfd40e6481b-1406498548144 at 3capp-gmx-bs41>, <6D39441BF12EF246A7ABCE6654B0235320EB4890 at LEMAIL01 dot le dot imgtec dot org> <trinity-a7d86c1b-afa6-405b-baf8-9dd83c6789f2-1407094765081 at 3capp-gmx-bs54>
> > > > What is harder to fix about n32 than o32?
> > >
> > > "-msingle-float" with n32 creates 64 bit FPU instructions like dmtc1 and
> > > dmfc1. So I can't compile it for r5900. When I disable it, I get
> internal
> > > compiler errors.
> >
> > That certainly seems like a bug. Can you file a bug report for that with
> > a test case? I'll try and handle it when I next work on the single-float
> > support in GCC.
>
> I added the bug report:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61983
Thanks.
> > Did you manage to get the libgcc patch reworked to be independent of
> r5900?
>
> I needed to get my build environment in a state where I can change the code.
> I needed to test building the toolchain for 14 different MIPS
> configurations. I tested that 7 configurations build something where
> floating point calculations are correct. I needed to use my own tests for
> this, because I didn't find any testsuite which does it correctly.
>
> I attached the new version of the patch which I tested with and without the
> FPU emulation on the MIPS r5900; i.e. I didn't tested with a normal MIPS,
> just what my Linux kernel emulates on r5900.
This seems better.
> When I compile for mipsel ABI o32 with -mhard-float and -msingle-fpu, It get
> the warning:
>
> Warning: float register should be even, was 1.
>
> I would say the warning is wrong, because odd FPU registers are available.
This is wrong but this is the area which is in flux at the moment. Can you
confirm which version of binutils you are using? Single-float support from both
GCC and binutils has been slightly inconsistent for a while and recent changes
to binutils have exposed the differences.
Matthew