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

Peter Barada peter.barada@logicpd.com
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 <peter.barada@logicpd.com> 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:
>  https://launchpad.net/linaro-toolchain-binaries
>
> 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:
>  https://launchpad.net/linaro-toolchain-binaries/trunk/2012.07/+download/README.txt
>
> 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
-fsingle-precision-constant"?

Thanks in advance!

-- 
Peter Barada
peter.barada@logicpd.com


--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list