This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NEON vs VFP usage

Note: This was originally posted on 29th August 2011 at http://forums.arm.com

Hi,

Could I use NEON and VFP at the same time in my application?
What would be the downsides of that?

I read also in the documentation that the compilation flags are as following:
GCC
-mfpu=neon -mfloat-abi=softfp
-mfpu=vfpv3 -mfloat-abi=softfp
ARMCC
--cpu=Cortex-A9 --apcs=/softfp
--cpu=Cortex-A9 --fpu=VFPv3 --apcs=/softfp

Do this control just the usage of NEON intrinsics? Does specifying th option for one(e.g. neon)
prevents me from using the other(e.g. vfp) directly in the code?

Also specifying "softfp" seems to incur some overhead in my application(at least from the preliminary benchmarks).
I tried to use the "hard" option but then I have linkage error as the runtime libraries are not built with support for that.
Could I get somewhere the runtime libraries built with "hard" or do I have to do it myself?

Thanks
Parents
  • Note: This was originally posted on 30th August 2011 at http://forums.arm.com


    Could I use NEON and VFP at the same time in my application?
    What would be the downsides of that?



    You can there is no technical problem.
    But don't believe you'll able to optimize a code. Mixing NEON and VPf instructions will give you poor performance. (On cortex A8! On Cortex A9 I don't know)

    VPf do not have instruction queue like NEON, so every VPf instruction need to wait for the NEON queue to be empty.
    So this is most of case  not a good idea to use both together.

    Etienne



Reply
  • Note: This was originally posted on 30th August 2011 at http://forums.arm.com


    Could I use NEON and VFP at the same time in my application?
    What would be the downsides of that?



    You can there is no technical problem.
    But don't believe you'll able to optimize a code. Mixing NEON and VPf instructions will give you poor performance. (On cortex A8! On Cortex A9 I don't know)

    VPf do not have instruction queue like NEON, so every VPf instruction need to wait for the NEON queue to be empty.
    So this is most of case  not a good idea to use both together.

    Etienne



Children
No data