[oe] iwmmxt optimization and soft float in OE on PXA270

Hasjim Williams openembedded-devel at lists.futaris.org
Thu Mar 20 06:03:15 UTC 2008


On Mon, 03 Mar 2008 08:29:04 +0100, "Koen Kooi"
<koen at dominion.kabel.utwente.nl> said:
> Stanislav Brabec schreef:
> 
> | It should be the best possible optimization for PXA270 (compiled for
> | iwmmxt, use soft float instead of exception based kernel driver, use
> -Os
> | to make binaries as small as possible and add optimizations from -O3).
> 
> Angstrom already enables softfloat (for FPU-less systems) and -Os by
> default *and* enables iwmmxt (if you have MACHINE_FEATURES = "iwmmxt")
> for apps which have been proven to benefit from iwmmxt (e.g. mplayer).
> 
> I still get mysterious segfaults when running an all iwmmxt glibc system
> (uclibc is even worse), so I don't think flipping the global switch is a
> good idea.

You won't be able to use iwmmxt with everything.  The unwind / exception
support for iwxmmt isn't there in gcc.  Anything using C++ exceptions
won't work correctly.

infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf
explains about the unwind / exceptions.

This is also one of the issues that Cirrus's MaverickCrunch currently
has.

The only ARM coprocessor that is fully supported (by gcc) is VFP.  

In summary, we'd have to modify:
gcc/config/arm/pr-support.c
gcc/config/arm/unwind-arm.h
gcc/config/arm/unwind-arm.c

for proper iwmmxt Unwind_VRS_Pop support.

NB, I'm the guy that has done the MaverickCrunch gcc patches...

I could write/test these patches, I guess, but the only PXA270 machine
that I have access to is a HTC Magician (XDA Mini).

Hasjim Williams




More information about the Openembedded-devel mailing list