[aarch64-port-dev ] RFR(S): 8232591: AArch64: Add missing match rules for smaddl, smsubl and smnegl

Pengfei Li (Arm Technology China) Pengfei.Li at arm.com
Mon Oct 21 09:55:58 UTC 2019


Hi,

Please review this small patch on AArch64 codegen.

JBS: https://bugs.openjdk.java.net/browse/JDK-8232591
Webrev: http://cr.openjdk.java.net/~pli/rfr/8232591/webrev.00/

This adds AArch64 match rules for multiplying two 32-bit integers into a 64-bit long with an additional add/sub/neg-long operation.

After this patch, AArch64 generated instructions like
| smull   x10, w1, w2
| add     x0, x3, x10
are combined to
| smaddl  x0, w1, w2, x3

Generated instructions like
| smull   x10, w1, w2
| sub     x0, x3, x10
are combined to
| smsubl  x0, w1, w2, x3

And generated instructions like
| sxtw    x11, w2
| sxtw    x10, w1
| mneg    x0, x11, x10
are combined to
| smnegl  x0, w2, w1

No new failure is found in full jtreg tests. No obvious performance difference can be seen after this patch. This just reduces the code size a little bit.

--
Thanks,
Pengfei


More information about the aarch64-port-dev mailing list