RFR: MulAll, Neg, Abs, Blend, and improved mask support

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Thu Jan 18 12:48:53 UTC 2018


Nice work, Razvan & Vivek! Looks good.

A couple of comments:

src/hotspot/cpu/x86/x86.ad
+operand rymm0() %{
+  constraint(ALLOC_IN_RC(ymm0_reg));  match(VecY);
+  predicate((UseAVX == 1) || (UseAVX == 2));  format%{%} 
interface(REG_INTER);
+%}
+
+operand rzmm0() %{
+  constraint(ALLOC_IN_RC(zmm0_reg));  match(VecZ);
+  predicate(UseAVX == 3); format%{%}  interface(REG_INTER);
+%}
+

rymm0 & rzmm0 aren't used. Do you need them for future changes?


src/hotspot/share/adlc/formssel.cpp

+    "ConvertVF2VD", "VectorUnbox", "VectorReinterpret",

VectorUnbox shouldn't be there.

Best regards,
Vladimir Ivanov

On 1/18/18 3:58 AM, Lupusoru, Razvan A wrote:
> Hi everyone,
> 
> Please check out the following webrev which includes several patches from myself and my colleague Vivek:
> http://cr.openjdk.java.net/~rlupusoru/panama/webrev_maskbinloadstore_02/
> 
> It includes:
> 
> *         MulAll, Neg, and Abs support for float, double, and int
> 
> *         Mask loading from boolean array is complete for all combinations
> 
> *         Blending is supported for all possible types and sizes (except 512)
> 
> *         Masked loads, stores, and several binary operations are now supported via use of blend
> 
> *         Fix for a memory ordering issue
> 
> *         Fix for rebracketing intrinsification which requires shape retention
> 
> Please take a look and let me know if you have any comments.
> --Razvan
> 


More information about the panama-dev mailing list