RFR: 8265154: vinserti128 operand mix up for KNL platforms

Vladimir Kozlov kvn at openjdk.java.net
Fri Apr 16 21:16: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

Good.

So it was caught by existing tests.

-------------

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3480


More information about the hotspot-compiler-dev mailing list