RFR: 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend [v5]
Eric Liu
eliu at openjdk.java.net
Sat Sep 18 03:50:50 UTC 2021
On Fri, 17 Sep 2021 09:46:34 GMT, Ningsheng Jian <njian at openjdk.org> wrote:
>> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
>>
>> fix bugs
>
> src/hotspot/cpu/aarch64/aarch64.ad line 2445:
>
>> 2443: case Op_VectorCastB2X:
>> 2444: case Op_VectorCastS2X:
>> 2445: if (vlen < 4) {
>
> The vector_size_supported() check should already cover this and no need to check it here?
I suggested to test this PR with the latest code. As some vector sizes which should not be supported for `VectorReinterpret` and `VectorCast*2X` have been fixed after https://github.com/openjdk/jdk/pull/5160. E.g. 128short => 64int.
For the case above, as the species are different, it
1. reinterprets 8 short to 2 short
2. casts 2 short to 2 int
Since we don't support short type with element size less than 4, this situation should be detected as unsupported when trying to generate `VectorReinterpret` node with 2 short, which in current branch is mistaken for 4 short.
I think those workaround code for jdk17(https://github.com/openjdk/jdk17/compare/master...theRealELiu:JDK-8268966) could be removed entirely after this work.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4839
More information about the hotspot-compiler-dev
mailing list