How to build ARM hardfp/NEON toolchain with crosstool-ng

Peter Barada
Tue Jul 31 14:45:00 GMT 2012

On 07/30/2012 05:30 PM, Michael Hope wrote:
> On 31 July 2012 02:40, Peter Barada <> wrote:
>> I'm trying to target a Cortex-a8, and want to build a single toolchain
>> that can be used to build both hardfp as well as NEON executables (I
>> don't believe I'll ever want to mix those two variants within the same
>> program).
>> If I understand correctly, hard float for VFP3 requires
>> "-mfloat-abi=hard -mfpu=vfpv3" and NEON requires "-mfloat-abi=softfp
>> -mfpu=neon".
> Hi Peter.  The ABI sets how floating point values are passed between
> functions, while the FPU tells GCC the capabilities of your hardware
> and what instructions it can use.  NEON is a superset of VFPv3 so you
> can use the hard float ABI always, default to VFPv3, and then enable
> NEON for any programs that benefit from it.
> Our pre-built toolchain is pretty close to what you describe:
> It's crosstool-NG based, tuned for the Cortex-A9, uses the latest
> Linaro releases, and the source is there if you want to tweak it.
> See:
> for more.
Thanks for the pointer, I'll have to give it a whirl.

What flags would you pass to get full NEON, "-O3 -ftree-vectorize
-mfpu=neon -ffast-math -funsafe-math-optimizations

Thanks in advance!

Peter Barada

For unsubscribe information see

More information about the crossgcc mailing list