ARM GCC bug [Was: Squeak on WinCE HPC MIPS?]

Tim Rowledge tim at sumeru.stanford.edu
Tue Jul 16 20:53:05 UTC 2002


Tommy Thorn <tt1729 at yahoo.com> is claimed by the authorities to have written:

> I use the standard cross compiler for Zaurus from Embeddix which is
> 2.95.2.  When building Squeak I encountered the bug, but only for
> sqGSMCodecPlugin.c.  The rest, notably interp.o, was compiled with -O2
> and works fine so it's not this GCC bug that holds back Squeaks
> performance on ARM.
> 
> I get  12_326_656 bytecodes/sec;   413_533 sends/sec with that VM (some
> 3.1current, I should try a recent VM) and Dynapad 0.01 (not 0.1).
Clearly you are able to use the optimiser, which is very interesting.
Since the problem I recall is effectively an interaction between the
compiler screwing up and the float emulator/library, perhaps the Zaurus
system has the problem fixed in the float code.

Essentially what was happening was that the function prologues involved
(for functions using any float operations) tried to execute and
instruction that wanted to save a float register. Working systems (the
older NetWinder system for example) had flat code that could cope with
this, problem ones didn't. We first noticed the problem when NW moved
from a hacked Acorn floating point emulator module to a 'newer better'
one.

tim

-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful Latin Phrases:- Oblitus sum perpolire clepsydras! = I forgot to polish the clocks!




More information about the Squeak-dev mailing list