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