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

Cortex-A9 : NEON assembly code is not giving expected performance compared with ARM assembly code

Note: This was originally posted on 27th November 2012 at http://forums.arm.com

I am facing one problem, like I have handmade ARM9 assembly code and NEON assembly code. I expected NEON assembly should get 4X % improvement for the speed compared with ARM assembly code. But I could not see that improvement in NEON assembly code.

Can you please explain me what could be the reason?

I am using Cortex-A9 processor and configuration in my Makefile : "CFLAGS=--cpu=Cortex-A9 -O2 -Otime --apcs=/fpic --no_hide_all"

Please let me know is there anything I need to change the make file settings to get NEON performance improvement?
Parents
  • Note: This was originally posted on 22nd March 2013 at http://forums.arm.com

    It's actually only 32-bit integer multiplication that NEON has a throughput of 32-bits per cycle. 8-bit and 16-bit integer, as well as single precision floats, have a throughput of 64-bits per cycle. This applies to all forms of multiplications and multiply + accumulate. This is the case for both Cortex-A8 and Cortex-A9.

    On Cortex-A9 (and A8) 32-bit integer multiplication needs two cycles so it can still be faster to use NEON.
Reply
  • Note: This was originally posted on 22nd March 2013 at http://forums.arm.com

    It's actually only 32-bit integer multiplication that NEON has a throughput of 32-bits per cycle. 8-bit and 16-bit integer, as well as single precision floats, have a throughput of 64-bits per cycle. This applies to all forms of multiplications and multiply + accumulate. This is the case for both Cortex-A8 and Cortex-A9.

    On Cortex-A9 (and A8) 32-bit integer multiplication needs two cycles so it can still be faster to use NEON.
Children
No data