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