RFR: 8265154: vinserti128 operand mix up for KNL platforms
Vladimir Kozlov
kvn at openjdk.java.net
Wed Apr 14 15:26:38 UTC 2021
On Wed, 14 Apr 2021 00:25:40 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
> There is a bug in macro assembler in vinserti128 special handling for platforms like KNL that do not support AVX512VL.
>
> The following:
> void vinserti128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8) {
> if (UseAVX > 2 && VM_Version::supports_avx512novl()) {
> Assembler::vinserti32x4(dst, dst, src, imm8);
> }
> ...
> }
>
> Should have been:
> void vinserti128(XMMRegister dst, XMMRegister nds, XMMRegister src, uint8_t imm8) {
> if (UseAVX > 2 && VM_Version::supports_avx512novl()) {
> Assembler::vinserti32x4(dst, nds, src, imm8);
> }
> ...
> }
>
> Best Regards,
> Sandhya
What problems this is causing? Would be nice to have a test to show the issue (if possible).
-------------
PR: https://git.openjdk.java.net/jdk/pull/3480
More information about the hotspot-compiler-dev
mailing list