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

Berg, Michael C michael.c.berg at intel.com
Sat Apr 23 02:30:00 UTC 2016

Vladimir, it Is not related to 8153998.
It seems his patch is not sync'd against the head of the tree.


-----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.


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