Question about vfpv3 and neon

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Question about vfpv3 and neon

2,271 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

1,194 Views
Yuri
NXP Employee
NXP Employee

  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

1,194 Views
igorpadykov
NXP Employee
NXP Employee

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