This topic needs a title

Does anyone know if the ARM cortex A8 has an FPU?

pete.

Yes, it does. Through the NEON Unit you can work with Floating points.

Yuri is there any thing special i need to invoke NEON FPU access, or could
i just use an arm-linux-gcc toolchain and build a floating point application?

Hi Pete

As I never used an Cortex A8 myself before (I’m still waiting to get my BeagleBoard) I don’t know much about the details. But I think the compilation process is the same.
You could look in the NEON Documentation for more specific information.

There’s some info in the Embedded Linux Wiki:
http://elinux.org/BeagleBoard#ARM_NEON

And the ARM website
http://www.arm.com/products/CPUs/NEON.html

gcc-4.3.1 does NEON OK. I'm not sure what other gcc/csl versions do NEON.

Philip

pass -mfloat-abi=softfb -mfpu=neon -march=armv7-a -mtune=cortex-a8 to
gcc and see if it crashes at runtime :slight_smile:

Koen,

which version of gcc do you recommend running these parameters against:

gcc-4.3.1 ?

pete.

Yes. Someone else could probably find a better reference than this: http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/Chdjbice.html
  (found via Google).

Jason Kridner <jkridner@gmail.com> writes:

Heh there are some simple programs that survive NEON vectorization
bugs :slight_smile:

Laurent

Single precision is also not pipelined if the instruction is run by the VFP.
(ref: http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/ch16s07s01.html).

In some cases single precision instructions can be run by the NEON unit,
in which case they are "execute [..] more quickly".
(ref http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/ch16s07s02.html).

However Mans' recommendation of only using single precision fully
applies :slight_smile:

Laurent

pete c wrote:

Koen,

which version of gcc do you recommend running these parameters against:

gcc-4.3.1 ?

E.g.

gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)

http://elinux.org/BeagleBoard#Cortex_A8_ARM

Dirk

pete c wrote:
> Koen,

> which version of gcc do you recommend running these parameters against:

> gcc-4.3.1 ?

E.g.

gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)

both gcc 4.3.1 and 2007q3 need patches to work. OpenEmbedded has all
those patches applied :slight_smile:

Koen Kooi wrote:

pete c wrote:

Koen,

which version of gcc do you recommend running these parameters against:

gcc-4.3.1 ?

E.g.

gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)

both gcc 4.3.1 and 2007q3 need patches to work. OpenEmbedded has all
those patches applied :slight_smile:

Yes, without additional patch in 2007q3 -Os is broken. See

http://elinux.org/BeagleBoard#Cortex_A8_ARM

too

Is there a native target that has these patches applied? I'd like to run 'gcc' on Beagle itself to build the kernel and u-boot, as well as applications.

It does indeed have a FPU. You can find more information at
http://focus.ti.com/docs/prod/folders/print/omap3530.html

Gerald