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

Lupusoru, Razvan A razvan.a.lupusoru at intel.com
Thu Jan 18 21:56:39 UTC 2018


Hi Vladimir,

I addressed the two issues below as per your suggestions and I have pushed the changes now. Thanks for the feedback!

--Razvan

-----Original Message-----
From: Vladimir Ivanov [mailto:vladimir.x.ivanov at oracle.com] 
Sent: Thursday, January 18, 2018 4:49 AM
To: Lupusoru, Razvan A <razvan.a.lupusoru at intel.com>; panama-dev at openjdk.java.net
Subject: Re: RFR: MulAll, Neg, Abs, Blend, and improved mask support

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