[jdk18] RFR: 8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
Vladimir Kozlov
kvn at openjdk.java.net
Thu Dec 23 02:34:14 UTC 2021
On Tue, 21 Dec 2021 18:06:01 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> This patch fixes a crash spotted in `compiler/vectorapi/reshape/TestVectorCastAVX1.java` in mainline. The reason for the failure is the incorrect vector encoding of integer promotion operation leads to unsupported instruction `vpmovsxbd/vpmovsxwd ymm, xmm` on AVX1. For the same reason we currently cannot cast a short or byte vector to a 256-bit float vector on AVX1, so I also fixed that.
>
> Thank you for explaining. These tests are not present in JDK18 and that confused me. I suggest to add new simple regression test with your changes for JDK 18 so we can verify the fix. And file a separate RFE for JDK 19 to uncomment lines in TestCastMethods.java when the fix is auto-pushed into JDK 19.
>
> And what about commented line 42 `makePair(BSPEC64, DSPEC256)1` ?
> Hi @vnkozlov , I have added tests for this regression.
> The cast from byte to double also suffers this miscalculation, it is also mistakenly rejected from intrinsification before and I also fix it here.
> Thank you very much.
Thank you for adding test.
Please, address Sandhya's comment about 256 bit CastI2F support with AVX1. I added snapshot from x86 doc to prove it.
-------------
PR: https://git.openjdk.java.net/jdk18/pull/46
More information about the hotspot-compiler-dev
mailing list