Question about vfpv3 and neon

cancel
Showing results for 
Search instead for 
Did you mean: 

Question about vfpv3 and neon

1,668 Views
Wizard_Richard
Contributor II

Dear All,

I am confused about vfpv3 and neon.

As shown in i.MX 6Dual/6Quad Reference Manual, it supports neon and vfpv3, also in kernel defconfig, the related config is

"CONFIG_VFP=y

CONFIG_VFPv3=y

CONFIG_NEON=y".

Question1:

In L3.0.35_4.1.0_ER_SOURCE_BSP release package, the cflags is "-march=armv7-a -mfpu=vfpv3 -mfloat-abi=softfp",

but in android_jb4.3_1.1.0-ga_source release package, the arch_variant_cflags is "-march=armv7-a -mfpu=neon -mfloat-abi=softfp".

what is the difference?

Question2: Does the option only used in cflags? not uesd in ldflags?

For example:

arm-fsl-linux-gnueabi-gcc -c helloworld.c -march=armv7-a -mfpu=vfpv3 -mfloat-abi=softfp

arm-fsl-linux-gnueabi-gcc -o helloworld helloworld.o [-march=armv7-a -mfpu=vfpv3 -mfloat-abi=softfp]

Is it need to add the ldflags "-march=armv7-a -mfpu=vfpv3 -mfloat-abi=softfp" ?

Best Regards,

Richard

Labels (3)
Tags (2)
0 Kudos
2 Replies

591 Views
Yuri
NXP TechSupport
NXP TechSupport

  Basically, the ARM core of the i.MX6 supports both VFP and NEON :

NEON is a SIMD engine, the VFP is an Floating Point coprocessor. 
"The Media Processing Engine (MPE) implements ARM NEON technology.

[...] The MPE also implements a VFPv3-D32 Floating-Point Unit."

We can apply NEON for single-precision floating-point operations for
several values in parallel. Under Linux one should
use the same floating

point options for applications and kernel.

As for

"Is it need to add the ldflags "-march=armv7-a -mfpu=vfpv3 -mfloat-abi=softfp" ?"

- yes, since the mentioned options relates to C compiler.

Regards,

Yuri.

0 Kudos

591 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Richard

fpu is not implemented on i.MX6 platform, below part of i.MX6DQ RM

MX6DQRM  p.557.jpg

for flags one can look at attached gcc release note.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos