[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