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

Nils Eliasson nils.eliasson at oracle.com
Thu Jun 18 11:37:24 UTC 2015


Hi Michael,

The patch looks good.

Thanks for contributing, Nils

On 2015-06-05 06:46, Berg, Michael C wrote:

Vladimir please find the following webrev with the suggested changes, I have added small signature functions which look like the old versions in the assembler but manage the problem I need to handle, which is additional state for legacy only instructions. There is a new vmversion function which handles the cpuid checks with a conglomerate approach for the one scenario which had it. The loop in the stub generator is now formed to alter the upper bound and execute in one path.

http://cr.openjdk.java.net/~mcberg/8081247/webrev.03/ Regards, Michael -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Wednesday, June 03, 2015 6:10 PM To: Berg, Michael C; 'hotspot-compiler-dev at openjdk.java.net' Subject: Re: RFR(L): 8081247 AVX 512 extended support code review request Hi, Michael assemblerx86.cpp: I don't like that you replaced prefix method with few parameters with method which has a lot of them: - int encode = vexprefix0F38andencodeq(dst, src1, src2); + int encode = vexprefixandencode(dst->encoding(), src1->encoding(), src2->encoding(), + VEXSIMDNONE, VEXOPCODE0F38, true, AVX128bit, + true, false); Why you did that?

stubGeneratorx8664.cpp: Can we set different loop limit based on UseAVX instead of having 2 loops. x86.ad: Instead of long condition expressions like next: UseAVX > 0 && !VMVersion::supportsavx512vl() && !VMVersion::supportsavx512bw() May be have one VMVersion finction which does these checks. Thanks, Vladimir 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