RFR(S):8211251:Default mask register for avx512 instructions

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Sep 28 01:37:48 UTC 2018


This looks fine. I assume you did testing. It only affects avx512 machines - right?

Thanks,
Vladimir

On 9/27/18 5:46 PM, Viswanathan, Sandhya wrote:
> Hi Vladimir,
> 
> Please find the updated webrev with this change at:
> http://cr.openjdk.java.net/~vdeshpande/k_register/webrev.01/
> 
> Best Regards,
> Sandhya
> 
> 
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
> Sent: Thursday, September 27, 2018 4:50 PM
> To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
> Subject: Re: RFR(S):8211251:Default mask register for avx512 instructions
> 
> Use guarantee() instead of assert so if someone to try to use it with product JDK it will fail.
> 
> Thanks,
> Vladimir
> 
> On 9/27/18 4:40 PM, Viswanathan, Sandhya wrote:
>> Hi Vladimir,
>>
>> As you know the PostLoopMultiversioning needs to be fully redesigned and is currently disabled.
>> That particular code should only be exercised when PostLoopMultiversioning is on.
>> I could change it with an assert statement if that looks ok to you.
>>
>> Please let me know.
>>
>> Best Regards,
>> Sandhya
>>
>>
>> -----Original Message-----
>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>> Sent: Thursday, September 27, 2018 3:24 PM
>> To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot
>> compiler <hotspot-compiler-dev at openjdk.java.net>
>> Subject: Re: RFR(S):8211251:Default mask register for avx512
>> instructions
>>
>> Looks good except PostLoopMultiversioning flag guarded changes in
>> macroAssembler_x86.cpp which should be explained too.
>>
>> Thanks,
>> Vladimir
>>
>> On 9/27/18 2:37 PM, Viswanathan, Sandhya wrote:
>>> Please find below a patch which cleans up K1 mask register handling for AVX 512 instructions.
>>>
>>> Currently unmasked instructions are encoded using k1 register which
>>> requires k1 register to be initialized properly and also reinitialized across JNI and Runtime calls.
>>>
>>> This patch encodes AVX 512 instructions as unmasked instruction with
>>> K0 encoding where the explicit mask register is not specified.
>>>
>>> RFE: https://bugs.openjdk.java.net/browse/JDK-8211251
>>>
>>> Webrev: http://cr.openjdk.java.net/~vdeshpande/k_register/webrev.00/
>>> <http://cr.openjdk.java.net/%7Evdeshpande/k_register/webrev.00/>
>>>
>>> Best Regards,
>>>
>>> Sandhya
>>>


More information about the hotspot-compiler-dev mailing list