RFR: 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend [v5]

Wu Yan wuyan at openjdk.java.net
Mon Sep 27 01:34:04 UTC 2021


On Sat, 18 Sep 2021 03:47:39 GMT, Eric Liu <eliu at openjdk.org> wrote:

>> 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/commit/52788702c11683fbf0e79dca07e75cf1fd8fc334) could be removed entirely in this work.

You are right, I'll fix it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4839


More information about the hotspot-compiler-dev mailing list