https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82034

            Bug ID: 82034
           Summary: SMMLAR pattern not detected on ARMv7-M
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: oscar.molin at sigicom dot com
  Target Milestone: ---

CMSIS-DSP contains the following macro in arm_math.h:

#define multAcc_32x32_keep32_R(a, x, y) \
    a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32)

This signature should ideally be translated to SMMLAR instruction but it is
not.
I noticed a speedup when I replaced this macro with a call to the instrinsic
SMMLAR.

Can this macro be translated into SMMLAR, and if so can this be implemented?
This it a feature request I guess.

Sorry if this was filed in the wrong category.

Reply via email to