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] | |
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] |