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


    ...
    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.



    Thanks for the insights. I just validated myself the fact that I can use both of them together by making a small app.
    After all it seems many people agree on the fact that is not such a good idea performance wise.
Reply
  • Note: This was originally posted on 30th August 2011 at http://forums.arm.com


    ...
    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.



    Thanks for the insights. I just validated myself the fact that I can use both of them together by making a small app.
    After all it seems many people agree on the fact that is not such a good idea performance wise.
Children
No data