This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

question about NEON and VFP

Hi~~ all.I confuse about the relationship between NEON and VFP coprocessors.

We know that NEON is a SIMD engine, it is used to handle vector operation, and VFP is a FPU coprocessor used to provide floating-point computation, they use the same register files, but the arm wiki(http://en.wikipedia.org/wiki/ARM_architecture) also said "NEON supports 8-, 16-, 32- and 64-bit integer and single-precision (32-bit) floating-point data and operates in SIMD operations ... ..." what means "supoirts single-precision (32-bit) floating-point data"? Does it means NEON instruction can calculate single-precision data? NEON can provide single-precision floating-point computation like VFP?  It can take place VFP?

So, what is the exactly relationship between NEON and VFP?

  • HI,

    do I need to enable CONFIG_VFP in linux kernel for using the same ?
    Symbol: VFP [=n] │
    │ Type : boolean │
    │ Prompt: VFP-format floating point maths │
    │ Location: │
    │ -> Floating point emulation │
    │ Defined at arch/arm/Kconfig:2230 │
    │ Depends on: CPU_V6 [=n] || CPU_V6K [=n] || CPU_ARM926T [=n] || CPU_V7 [=y] || CPU_FEROCEON [=n] │
    │ Selected by: ARCH_OMAP2PLUS_TYPICAL [=n] && ARCH_OMAP2PLUS [=n]

    Also while compiling application I am using -mfpu=neon flag .

    Thanks and regards
    Gokul CG
  • Hi Gokul,

    You must enable CONFIG_VFP in the linux kernel to include VFP support code. Also you can enable CONFIG_NEON to include support code for NEON . The compiler supports two different options to control NEON and VFPv3.  You can obtain more information about both options from the links:

    BR

    Tsvetolin Shulev