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

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Dec 4 21:11:46 UTC 2015


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