Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: NEON non-vector 32 x 32 += 64 MAC ? - ARM Community

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

NEON non-vector 32 x 32 += 64 MAC ? Rate Topic: -----

#1 User is offline   J A Valina 

  • Member
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 11-May 12

Posted 25 May 2012 - 01:35 AM

From the Cortex A8 & A9 NEON manuals, it appears that the NEON unit can compute a pair of 32 x 32 multiplications adding to a pair of 64 bit accumulators every other cycle.

Is there a NEON instruction to compute just a single 32 x 32 multiplication adding to a 64 bit accumulator? If so, can it issue every cycle? Is there a stall between back-to-back MACs of this type accumulating to the same register?

Thanks for your help!
0

#2 User is offline   isogen74 

  • Super Contributor
  • PipPipPipPip
  • Group: Members
  • Posts: 1097
  • Joined: 20-March 07

Posted 25 May 2012 - 08:57 AM

> Is there a NEON instruction to compute just a single 32 x 32 multiplication adding to a 64 bit accumulator?


No, but the ARM instruction set does - see http://infocenter.ar...b/CIHBJEHG.html


> Is there a stall between back-to-back MACs of this type accumulating to the same register


I'm not 100% on this specific case, but typically there are no stalls. Back-to-back MAC instructions are common, and so they are designed to pipeline with no bubbles.


When optimizing software, consider that the quickest code to run is the bit you removed from the call path.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic