RFR(L): 8081247 AVX 512 extended support code review request

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jun 4 01:09:34 UTC 2015

Hi, Michael


I don't like that you replaced prefix method with few parameters with 
method which has a lot of them:

-  int encode = vex_prefix_0F38_and_encode_q(dst, src1, src2);
+  int encode = vex_prefix_and_encode(dst->encoding(), src1->encoding(), 
+                                     VEX_SIMD_NONE, VEX_OPCODE_0F_38, 
true, AVX_128bit,
+                                     true, false);

Why you did that?


Can we set different loop limit based on UseAVX instead of having 2 loops.


Instead of long condition expressions like next:

UseAVX > 0 && !VM_Version::supports_avx512vl() && 

May be have one VM_Version finction which does these checks.


On 6/2/15 9:38 PM, Berg, Michael C wrote:
> Hi Folks,
> I would like to contribute more AVX512 enabling to facilitate support
> for machines which utilize EVEX encoding. I need two reviewers to review
> this patch and comment as needed:
> Bug-id: https://bugs.openjdk.java.net/browse/JDK-8081247
> webrev:
> http://cr.openjdk.java.net/~mcberg/8081247/webrev.01/
> This patch enables BMI code on EVEX targets, improves replication
> patterns to be more efficient on both EVEX enabled and legacy targets,
> adds more CPUID based rules for correct code generation on various EVEX
> enabled servers, extends more call save/restore functionality and
> extends the vector space further for SIMD operations.  Please expedite
> this review as there is a near term need for the support.
> Also, as I am not yet a committer, this code needs a sponsor as well.
> Thanks,
> Michael

More information about the hotspot-compiler-dev mailing list