[aarch64-port-dev ] RFR(S): 8243240: AArch64: Add support for MulVB

Yang Zhang Yang.Zhang at arm.com
Fri Apr 24 06:01:28 UTC 2020


Hi,

Could you please help to review this patch?

JBS: https://bugs.openjdk.java.net/browse/JDK-8243240
Webrev: http://cr.openjdk.java.net/~yzhang/8243240/webrev.00/

In this patch, the missing MulVB support for AArch64 is added.

Testing: tier1

Test case:
public static void mulvb(byte[] a, byte[] b, byte[] c) {
    for (int i = 0; i < a.length; i++) {
        c[i] = (byte)(a[i] * b[i]);
    }
}

Assembly generated by C2:
0x0000ffffacafdbac:   ldr q17, [x15, #16]
0x0000ffffacafdbb0:   ldr q16, [x14, #16]
0x0000ffffacafdbb4:   mul v16.16b, v16.16b, v17.16b
0x0000ffffacafdbbc:   str q16, [x11, #16]

Performance:
JMH test case is attached in JBS.

Before:
Benchmark               (size)  Mode  Cnt  Score   Error  Units
TestVect.testVectMulVB    1024  avgt    5  0.952  0.005  us/op

After:
Benchmark               (size)  Mode  Cnt  Score   Error  Units
TestVect.testVectMulVB    1024  avgt    5  0.110  0.001  us/op

Regards
Yang


More information about the aarch64-port-dev mailing list