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