[oe] EP93xx - update of GCC support for this sick CPU/FPU

Marcin Juszkiewicz marcin at juszkiewicz.com.pl
Mon Jun 1 14:49:16 UTC 2009


Hi

This patchset is taken from http://martinwguy.co.uk/martin/crunch/

It is enabled by default for ep93xx devices as EDB9301 boots into rootfs
built with this toolchain without problems. Running "openssl speed"
works but end table with results contains broken calculations.

Binary locales do not work as QEMU do not handle ep93xx cpu.

Patches are a bit ugly maybe (in conf/machine/include/*) but I want to
show it finally to people before it rust.

Text from page:

On 10 March there were no known bugs in this stuff (again). On 19 March
libvorbisenc managed to find a bug in GCC whereby it incorrectly
optimizes certain code sequences that use single-precision floats. The
Maverick code generator exhibits similar symptoms for the same code, but
only at optimization levels -O2 and above, so the fastest reliable
optimization options for Maverick at present are -O -ffast-math.

I've been working on GCC-4.3.3 to make it generate working code for the
Cirrus Logic MaverickCrunch FPU, as found in their ARM-based EP9302,
EP9307, EP9312 and EP9315 chips, making floating point-intensive code
about 2.5 times faster.

This follows on from Hasjim Williams' earlier work with gcc-4.1.2 and
4.2.0, a bundle of his more recent ideas and more hacks from me.

If you want to understand the patches themselves, there is an article
about the MaverickCrunch FPU and GCC's problems with it on the Debian
wiki [1] and I have added commentary at the top of the individual patch
files.

1. http://wiki.debian.org/ArmEabiMaverickCrunch







More information about the Openembedded-devel mailing list