RFR: 8086087: aarch64: add support for 64 bit vectors
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Jun 25 14:20:41 UTC 2015
This looks good. Thank you, Ed.
Since changes a big you need 2 reviewers. One official reviewer (me in this case) and one who is familiar with this code
and at least committer (Andrew, for example).
Thanks,
Vladimir
On 6/25/15 3:40 AM, Edward Nevill wrote:
> Hi,
>
> The following webrev adds support for 64 bit vectors (only) on aarch64
>
> http://cr.openjdk.java.net/~enevill/8086087/webrev.02
>
> Previously the vector code only supported 128 bit vectors.
>
> 32 bit vectors are not supported in this changeset but will be supported in a future changeset.
>
> I have tested this with JTreg hotspot with the following results
>
> Original: Test results: passed: 858; failed: 4; error: 6
> Revised: Test results: passed: 857; failed: 5; error: 6
>
> The additional test failure is compiler/intrinsics/muladd/TestMulAdd.java which fails intermittently with both original and revised versions (I'll take a look at that next:-).
>
> I have also benchmarked the Test*Vect tests from 6340864 in the hotspot test suite. The following are the average results I get on one of our partners HW (lower number is better).
>
> TestByteVect: 128-bit (11.77), 64-bit (4.36)
> TestShortVect: 128-bit (5.02), 64-bit (5.22)
> TestIntVect: 128-bit (7.81), 64-bit (7.70)
> TestLongVect: 128-bit (11.67), 64-bit (11.71)
> TestFloatVect: 128-bit (16.75), 64-bit (17.29)
> TestDoubleVect:128-bit (32.37), 64-bit (32.43)
>
> So the only test which shows an improvement is TestByteVect which shows a 2.7x speedup. The other tests are the same within the bounds of experimental error.
>
> The reason TestByteVect shows such an improvement is that with 128 bit vectors it is not being vectorized at all because the loop is not unrolled sufficiently to allow it to be vectorized, wheras with 64 bit vectors it is.
>
> Please review and let me know if this is OK to push?
>
> Ed.
>
> PS: For pushing an aarch64 specific change to hs-comp do I need 1 or 2 reviewers?
>
>
More information about the hotspot-compiler-dev
mailing list