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

Vladimir Kozlov vladimir.kozlov at oracle.com
Sat Apr 23 01:54:04 UTC 2016

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