Hi,
This patch recognizes
acc + (long long) a[0] * b[0]
+ (long long) a[1] * b[1]
where a and b each contain two signed 16 bit values. GCC currently computes the
two products separately. This patch lets GCC use one SMLALD instruction to
perform both products and add them to acc in a single instruction.
The attached patch includes the implementation, regression tests,
ChangeLog entries and testing results.
I do not have GCC write access.
Thanks,
Ishan Kumthekar
0001-arm-Use-SMLALD-for-two-signed-16-bit-products.patch
Description: Binary data
