This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: float library


Hi, Kai:

    Thank you very much! I'll try it.

Best Regards,
James



>
>dnt ly wrote:
> >
> >
> >       I have test float library in ARM gcc, but it is very slow, will
> > anyone tell me how to improve it or how to overwrite the gcc's default
> > float library with a new one.
>
>  Let's hope you mean the 'basic soft float routines' coming with GCC, not
>the 'float library' ('libm.a') coming with 'newlib' or 'glibc'... 
Sometimes
>people don't exactly mean what they write ;-)
>
>  The 'ieeelib.c' donated to GNU by Swedish SWOX Ab (or something) perhaps
>in 1999 could be quicker. The donators claimed it to be 5 times quicker on
>m68k than the default soft-float routines in GCC.  I tested it with the
>Hitachi H8/300[HS] and got the IAR's float-test program running two times
>quicker with H8/300H and H8S in the equipped simulator (in Insight/GDB).
>However the commercial IAR-H8/300-routines produced using assembly still
>were 5 times quicker (with their compiler) if the IAR docs were right...
>
>  Before it worked with H8/300, the 'ieeelib.c' package needed some fixes,
>so I would expect ARM needing too... Anyway this could be one possible
>route to start with a new quicker soft-float implementation.
>
>  The used float package is defined in the 'gcc/config/<cpu_target>/t-*'
>target-makefile fragments, for instance 'gcc/config/arm/t-elf' or 
something
>for 'arm-elf'. The default is the 'fp-bit.c/dp-bit.c'-pair for 
floats/doubles.
>Substituting the definitions for 'fp-bit.c' and 'dp-bit.c' with something 
else,
>the package will be changed. For instance in the 
'gcc/config/h8300/t-h8300'
>case:
>
>------------------------- clip ---------------------------------------
>LIB2FUNCS_EXTRA = sfieeelib.c
>
># Compile SFmode routines
>sfieeelib.c: $(srcdir)/config/h8300/ieeelib.c
>	echo '#define COMPUTE_TYPE unsigned long'	>sfieeelib.c
>	echo '#define COMPUTE_STYPE signed long'	>>sfieeelib.c
>	echo '#define COMPUTE_TYPE_BITS 32'		>>sfieeelib.c
>	echo '#define MANTISSA_NWORDS 1'		>>sfieeelib.c
>	echo '#define MANTISSA_BITS 24'			>>sfieeelib.c
>	echo '#define EXP_BITS 8'			>>sfieeelib.c
>	echo '#define SFmode'				>>sfieeelib.c
>	echo '#define MSB_IMPLICIT true'		>>sfieeelib.c
>	echo '#define FLOAT_WORDS_BIG_ENDIAN'		>>sfieeelib.c
>	echo '#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB'	>>sfieeelib.c
>	cat $(srcdir)/config/h8300/ieeelib.c 		>>sfieeelib.c
>------------------------- clip ---------------------------------------
>
>  I can email the 'ieeelib.c' separately to you, but it should be 
available
>with the 'announce' information etc. somewhere in the 'gcc-patches' 
archives
>from 1999. I couldn't find the 'howto-instructions' for it just now, 
somehow
>I have succeeded to archive them too well. I will try to find it again...
>
>Cheers, Kai
>




_________________________________________________________________
¦b http://explorer.msn.com.hk/intl.asp §K¶O¤U¸ü MSN Explorer


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]