RFR (M): 8143355: Update for addition of vectorizedMismatch intrinsic for x86
Christian Thalinger
christian.thalinger at oracle.com
Tue Dec 8 18:57:57 UTC 2015
+ 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