RFR: 8278584: compiler/vectorapi/VectorMaskLoadStoreTest.java failed with "Error: ShouldNotReachHere()"
Mai Đặng Quân Anh
duke at openjdk.java.net
Sun Dec 12 17:59:09 UTC 2021
On Sun, 12 Dec 2021 05:51:31 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> Hi all,
>
> I'd like to fix the vector_length_encoding error in `long_to_maskLE8_avx` and `long_to_maskGT8_avx`.
> Since the input parameter of `vector_length_encoding` [1] is the number of vector bytes (not number of vector bits), I believe we shouldn't `mask_len*8` [2][3].
>
> The patch also removes an useless statement [4].
>
> Testing:
> - vector api tests on Linux/x64-{AVX512, AVX2}
>
> Thanks.
> Best regards,
> Jie
>
> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86.ad#L1219
> [2] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86.ad#L9552
> [3] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86.ad#L9568
> [4] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86.ad#L9580
It seems that our `fromLong` tests create a mask from `long` values then immediately convert it back to `long` values using `toLong` to verify the results. Unfortunately, a `VectorMaskToLongNode` and a `VectorLongToMaskNode` together being optimized out leads to us not being able to verify the code emission.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6808
More information about the hotspot-compiler-dev
mailing list