RFR(M): 8213134: AArch64: vector shift failed with MaxVectorSize=8
vladimir.kozlov at oracle.com
Tue Nov 20 20:35:27 UTC 2018
I don't see any checking or setting for MaxVectorSize in vm_version_aarch64.cpp.
In such case you will definitely hit your new assert Matcher::vector_shift_count_ideal_reg().
aarch64.ad code Matcher::vector_width_in_bytes() has limit vector size to 16 bytes. So using MaxVectorSize > 16 will
hit the assert.
On 11/18/18 11:53 PM, Yang Zhang (Arm Technology China) wrote:
> When I implemented AArch64 NEON for Vector API (http://openjdk.java.net/jeps/338), I found an issue about vector shift. I have a patch which could fix this issue. Could anyone help to review this patch?
> Webrev: http://cr.openjdk.java.net/~yzhang/8213134/webrev.01/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8213134
> This patch is verified both in jdk/jdk master and panama/vectorIntrinsics, and tests are passed.
> Hotspt jtreg contains the following test cases that can cover all the patterns of vector shift. But only default option "-XX:MaxVectorSize=64" is tested, so this issue isn't detected. Now I add "-XX:MaxVectorSize=8", "-XX:MaxVectorSize=16" and "-XX:MaxVectorSize=32" to these jtreg tests in this patch.
More information about the hotspot-dev