RFR: 8265154: vinserti128 operand mix up for KNL platforms

Sandhya Viswanathan sviswanathan at openjdk.java.net
Fri Apr 16 21:32:32 UTC 2021


On Fri, 16 Apr 2021 21:13:56 GMT, Vladimir Kozlov <kvn 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.

Thanks @vnkozlov. Yes, it was caught by existing tests.

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

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


More information about the hotspot-compiler-dev mailing list