[patch soft-fp] Fixes for soft-fp

Fredrik Unger fred@tree.se
Wed Nov 26 12:18:00 GMT 2008


Hi,

My name is Fredrik Unger, and I am a member of a team porting the GCC to 
  the NEC SX series. (  http://en.wikipedia.org/wiki/SX_architecture )

http://code.google.com/p/sx-gcc/

With under 1000 failures of the testsuite we have been looking at fp-bit 
and soft-fp lately.
Current test results are available here :
http://source.tree.se/sx/sx-gcc/testrun/

I moved to soft-fp from our initial fp-bit version due to undefined 
references to routines like floattisf in the
gcc.dg/torture/fp-int-convert-timode.c test.

Our port currently based on 4.2.2 as it was new when the port started.

In moving to soft-fp for our platform I had to use some of the gcc trunk 
soft-fp sources[1]. In doing so I found 4 bugs in 3 files that had to be 
corrected before the soft-fp compiled and run for us. (the double.h bug 
is also in the libc sources)

soft-fp 4.2.2 does not differ from trunk except the files [1] difference 
+ a small addition to soft-fp.h

There is a discrepancy between gcc trunk and libc as for example
floatuntisf.c is only in gcc and not in the libc.
I have used the cvsweb interface to look that up, and if that is not
displaying the up to date information I could be wrong.

I have included a patch for the affected sources.
The patch affects files in gcc/config/soft-fp (trunk)

At the same time I would like to ask if soft-fp is the future for GCC.
The http://gcc.gnu.org/wiki/Software_floating_point page suggests that 
it is, but as 
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/soft-fp/?cvsroot=glibc
has not shown any development the last 17 months we were not sure.

For configuration we used :
softfp_float_modes := sf df tf
softfp_int_modes := si di ti
softfp_extensions := dftf sftf
softfp_truncations := tfdf tfsf
softfp_machine_header:= sx/sfp-machine.h
softfp_exclude_libgcc2 := y

To get all cases of conversions for ti/tf included. The t-softfp would 
otherwise have to be adapted to make sure all conversions are created. 
Ex. sfti conversion has to be built even if sf float mode is not built.


Thank you,

Fredrik Unger


[1] files added to 4.2.2 from trunk.
?      floattisf.c
?      floatuntidf.c
?      floatuntitf.c
?      fixunssfti.c
?      fixsfti.c
?      fixunsdfti.c
?      fixdfti.c
?      floatuntisf.c
?      fixunstfti.c
?      floattidf.c
?      fixtfti.c
?      floattitf.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: double.h.patch
Type: text/x-patch
Size: 515 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081126/64c85eda/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixdfti-floatuntisf.patch
Type: text/x-patch
Size: 530 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081126/64c85eda/attachment-0001.bin>


More information about the Gcc-patches mailing list