RFR (M): 8143355: Update for addition of vectorizedMismatch intrinsic for x86

Christian Thalinger christian.thalinger at oracle.com
Mon Dec 14 20:06:33 UTC 2015


> On Dec 14, 2015, at 9:57 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> 
> Filed https://bugs.openjdk.java.net/browse/JDK-8145348 <https://bugs.openjdk.java.net/browse/JDK-8145348>

Thanks.

> 
> Vladimir
> 
> On 12/8/15 11:05 AM, Christian Thalinger wrote:
>> 
>>> On Dec 8, 2015, at 9:04 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>> 
>>> Historically we have intrinsics flag as product. But in reality to have them diagnostic, for example, is also fine. But it would be different change.
>> 
>> Maybe we should file an enhancement and change all of them to diagnostic.
>> 
>>> 
>>> Thanks,
>>> Vladimir
>>> 
>>> On 12/8/15 10:57 AM, Christian Thalinger wrote:
>>>> +  product(bool, UseVectorizedMismatchIntrinsic, false,                      \
>>>> +          "Enables intrinsification of ArraysSupport.vectorizedMismatch()") \
>>>> 
>>>> Do all these really need to be product flags?
>>>> 
>>>>> On Dec 7, 2015, at 2:26 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>>> 
>>>>> Looks good. I will push it when closed part (flag = false) reviewed.
>>>>> I will modify vm_version_x86.cpp to move setting to false in 32-bit VM code to be #else part of flag's setting.
>>>>> 
>>>>> Thanks,
>>>>> Vladimir
>>>>> 
>>>>> On 12/7/15 11:29 AM, Deshpande, Vivek R wrote:
>>>>>> Hi Vladimir
>>>>>> 
>>>>>> We have updated the jbs entry with your suggested changes for the flag.
>>>>>> Would you please review it.
>>>>>> jbs entry: https://bugs.openjdk.java.net/browse/JDK-8143355
>>>>>> webrev is at: http://cr.openjdk.java.net/~mcberg/8143355/webrev.03/
>>>>>> 
>>>>>> Regards,
>>>>>> Vivek
>>>>>> 
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>>>>>> Sent: Friday, December 04, 2015 1:12 PM
>>>>>> To: Deshpande, Vivek R; hotspot compiler
>>>>>> Cc: Yi, Liqi; Viswanathan, Sandhya; Kaczmarek, Eric; Paul Sandoz
>>>>>> Subject: Re: RFR (M): 8143355: Update for addition of vectorizedMismatch intrinsic for x86
>>>>>> 
>>>>>> You don't need now #ifdef COMPILER2 (in vm_version_x86.cpp).
>>>>>> 
>>>>>> + #ifdef COMPILER2
>>>>>> + #ifdef _LP64
>>>>>> +   if (UseSSE42Intrinsics) {
>>>>>> 
>>>>>> Also you need to add to all other platforms vm_version_<arch>.cpp setting flag to false. See UseAdler32Intrinsics settings as example.
>>>>>> 
>>>>>> Thanks,
>>>>>> Vladimir
>>>>>> 
>>>>>> On 12/4/15 11:26 AM, Deshpande, Vivek R wrote:
>>>>>>> Hi Vladimir
>>>>>>> 
>>>>>>> We have updated the webrev at the jbs entry with the global flag.
>>>>>>> This is the link for your review.
>>>>>>> http://cr.openjdk.java.net/~mcberg/8143355/webrev.02/
>>>>>>> 
>>>>>>> Regards
>>>>>>> Vivek
>>>>>>> -----Original Message-----
>>>>>>> From: Deshpande, Vivek R
>>>>>>> Sent: Wednesday, December 02, 2015 11:21 AM
>>>>>>> To: 'Vladimir Kozlov'; hotspot compiler
>>>>>>> Cc: Yi, Liqi; Viswanathan, Sandhya; Kaczmarek, Eric; 'Paul Sandoz'
>>>>>>> Subject: RE: RFR (M): 8143355: Update for addition of
>>>>>>> vectorizedMismatch intrinsic for x86
>>>>>>> 
>>>>>>> Hi Vladimir
>>>>>>> 
>>>>>>> Yes the 2x performance gain is using AVX2 instructions for big arrays(~1k).
>>>>>>> We will update the patch and jbs entry with global flag and let you know soon.
>>>>>>> 
>>>>>>> Regards,
>>>>>>> Vivek
>>>>>>> 
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>>>>>>> Sent: Tuesday, December 01, 2015 6:02 PM
>>>>>>> To: Deshpande, Vivek R; hotspot compiler
>>>>>>> Cc: Yi, Liqi; Viswanathan, Sandhya; Kaczmarek, Eric
>>>>>>> Subject: Re: RFR (M): 8143355: Update for addition of
>>>>>>> vectorizedMismatch intrinsic for x86
>>>>>>> 
>>>>>>>      2) improving C1 (perhaps even the interpreter?) since the intrinsic is a stub which IIUC makes it easier to plug in.
>>>>>>> 
>>>>>>> If that is the case the flag should be global.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Vladimir
>>>>>>> 
>>>>>>> On 12/1/15 5:48 PM, Vladimir Kozlov wrote:
>>>>>>>> This seems fine. 2x is for AVX implementation?
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Vladimir
>>>>>>>> 
>>>>>>>> On 11/24/15 4:00 PM, Deshpande, Vivek R wrote:
>>>>>>>>> Hi all
>>>>>>>>> 
>>>>>>>>> We would like to contribute a patch from Intel which optimizes
>>>>>>>>> vectorizedMismatch() method in java.util.ArraysSupport.java for X86
>>>>>>>>> architecture using AVX instructions.
>>>>>>>>> 
>>>>>>>>> The improvement gives more than 2x gain over Unsafe implementation
>>>>>>>>> for long arrays.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>    The bug is blocked by bug: vectorized support for array
>>>>>>>>>    equals/compare/mismatch using Unsafe
>>>>>>>>>    (https://bugs.openjdk.java.net/browse/JDK-8136924.)
>>>>>>>>> 
>>>>>>>>> Could you please review and sponsor this patch.
>>>>>>>>> 
>>>>>>>>> Bug-id:
>>>>>>>>> 
>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8143355
>>>>>>>>> webrev:
>>>>>>>>> 
>>>>>>>>> http://cr.openjdk.java.net/~mcberg/8143355/webrev.01/
>>>>>>>>> 
>>>>>>>>> Thanks and regards,
>>>>>>>>> 
>>>>>>>>> Vivek
>>>>>>>>> 
>>>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151214/97a6d7d1/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list