This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/82034] New: SMMLAR pattern not detected on ARMv7-M
- From: "oscar.molin at sigicom dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 30 Aug 2017 12:23:46 +0000
- Subject: [Bug target/82034] New: SMMLAR pattern not detected on ARMv7-M
- Auto-submitted: auto-generated
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.