RFR (S): 8154975: Update for vectorizedMismatch with AVX512

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Apr 27 05:02:55 UTC 2016


Looks good to me. I will start testing.

Thanks,
Vladimir

On 4/26/16 11:22 AM, Deshpande, Vivek R wrote:
> HI Vladimir
>
> I have updated the webrev with all suggested changes.
> The webrev is at this location:
> http://cr.openjdk.java.net/~vdeshpande/8154975/webrev.01/
>
> Regards
> Vivek
>
> -----Original Message-----
> From: Berg, Michael C
> Sent: Saturday, April 23, 2016 7:24 PM
> To: Vladimir Kozlov; Deshpande, Vivek R; hotspot-compiler-dev at openjdk.java.net
> Subject: RE: RFR (S): 8154975: Update for vectorizedMismatch with AVX512
>
> More info:
>
> Setvectmask and restorevectmask are used for auto code generation.
>
> The method attached here is used entirely for stub code assembly and is intended only for stub code usage and checked via assertions as such.
>
> Regards,
> Michael
>
> -----Original Message-----
> From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] On Behalf Of Berg, Michael C
> Sent: Friday, April 22, 2016 7:30 PM
> To: Vladimir Kozlov <vladimir.kozlov at oracle.com>; Deshpande, Vivek R <vivek.r.deshpande at intel.com>; hotspot-compiler-dev at openjdk.java.net
> Subject: RE: RFR (S): 8154975: Update for vectorizedMismatch with AVX512
>
> Vladimir, it Is not related to 8153998.
> It seems his patch is not sync'd against the head of the tree.
>
> -Michael
>
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
> Sent: Friday, April 22, 2016 6:54 PM
> To: Deshpande, Vivek R <vivek.r.deshpande at intel.com>; hotspot-compiler-dev at openjdk.java.net
> Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Berg, Michael C <michael.c.berg at intel.com>
> Subject: Re: RFR (S): 8154975: Update for vectorizedMismatch with AVX512
>
> Hi Vivek,
>
> How it is related to next macro instructions from JDK-8153998?
>
> +  // special instructions for EVEX
> +  void setvectmask(Register dst, Register src);  void
> + restorevectmask();
>
> Can you reuse them? Or add variants which you can use. I see difference kmovql vs kmovdl in code.
>
> _programmed_mask_reg/clear_programmed_mask_reg/set_programmed_mask_reg should be named _vector_masking/clear_vector_masking/set_vector_masking
>
>
> I don't like next code in assembler instructions:
> +  if (zeroing) attributes.set_is_clear_context();
>
> +  if (!no_reg_mask) {
> +    attributes.set_embedded_opmask_register_specifier(mask);
> +    if (zeroing) attributes.set_is_clear_context();
> +  }
>
> zeroing is false and mask is not NULL in your code. I would prefer to have separate instructions when you need them.
> _embedded_opmask_register_specifier is not used (only set). Don't add values which are not used.
>
> Thanks,
> Vladimir
>
> On 4/22/16 6:10 PM, Deshpande, Vivek R wrote:
>> Hi all
>>
>> I would like to contribute a patch with AVX512 support for the vectorizedMismatch intrinsic.
>>
>> Could you please review and sponsor this patch.
>>
>> Bug-id:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8154975
>>
>> webrev:
>>
>> http://cr.openjdk.java.net/~vdeshpande/8154975/webrev.00/
>>
>> Thanks and regards,
>>
>> Vivek
>>


More information about the hotspot-compiler-dev mailing list