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

Attachment: 0001-arm-Use-SMLALD-for-two-signed-16-bit-products.patch
Description: Binary data



Reply via email to