[aarch64-port-dev ] RFR: 8144587: aarch64: generate vectorized MLA/MLS instructions
Felix Yang
felix.yang at linaro.org
Mon Dec 7 15:26:06 UTC 2015
Hi,
I have corrected the webrev issues in my previous mail. Thanks Edward for
providing the help.
Now I am resending this mail:
Can someone help review and sponsor this code generation improvement for
aarch64 port?
Bug: https://bugs.openjdk.java.net/browse/JDK-8144587
Webrev: http://cr.openjdk.java.net/~fyang/8144587/webrev.02
The hotspot/test/compiler/loopopts/superword/SumRed_Int.java can server
as a test case.
With this patch, the following code snippet by C2:
0x0000007f6cec12cc: mul v19.4s, v16.4s, v17.4s
0x0000007f6cec12d0: mul v16.4s, v16.4s, v18.4s
0x0000007f6cec12d4: mul v17.4s, v18.4s, v17.4s
0x0000007f6cec12d8: add v16.4s, v19.4s, v16.4s
0x0000007f6cec12dc: add v16.4s, v16.4s, v17.4s
will be further optimized into:
0x0000007f9cdb86dc: mul v19.4s, v16.4s, v17.4s
0x0000007f9cdb86e0: mla v19.4s, v16.4s, v18.4s
0x0000007f9cdb86e4: mla v19.4s, v17.4s, v18.4s
About 13% performance gain achieved for the test case on my aarch64
server.
Tested with jtreg hotspot & langtools. Results are the same before and
after.
Is it OK to push?
Felix,
Thanks for your help.
More information about the aarch64-port-dev
mailing list