Building glibc for a mult-lib --target=m68k-linux

Peter Barada pbarada@mail.wm.sps.mot.com
Mon Aug 26 07:50:00 GMT 2002


>it is clear that we need extra handling for 68060, but it is not 
>obvious for the 68040. Iirc the only (gcc relevant) differences 
>between 68020/68881 and 68040 are a few FPU operations which are
>sufficiently slow that extra emulation overhead should not hurt 
>much - never benchmarked it but I would hope the Motorolla provided 
>fpsp040 emulation performs at least as good (preformance and 
>correctness wise) as any library written in C.
>My 68040 manual lists them as: f*cos*,f*sin*,f*tan*,fetox*,fgetexp
>fint,ftwotox,fintrz,flog*,fmovecr,ftentox,fmod,frem,fscale.. is any
>of that likely to be performance critical for gcc/g++/java/glibc libs?

If you're going to special case the '060, you may as well be complete
and special case the '040.

Besides, if you build the library for -m68881 and run it on an '040,
you add *all* the trap overhead.  If you look at the constants in
fmovecr, you'll see such common ones as zero, pi, e, 10.0, etc. so any
float code will probably have to trap to load any of these constants
into an %fp register.

-- 
Peter Barada                                   Peter.Barada@motorola.com
Wizard                                         781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)



More information about the Gcc mailing list