RFR (M): 8143355: Update for addition of vectorizedMismatch intrinsic for x86
Christian Thalinger
christian.thalinger at oracle.com
Tue Dec 8 19:05:23 UTC 2015
> 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
>>>>>>>
>>
More information about the hotspot-compiler-dev
mailing list