RFR: 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Sep 25 19:41:12 UTC 2019


Thank you, Vivek

I see you did several changes including intrinsics code. Would be nice if you list changes you did 
in bug report. I see you removed _evex instructions variants in .ad file, replaced evex instructions 
in stubs and set UseAVX to 2 for Skylake. It is easy to understand.

But what about array limit AVX3Threshold? I assume it is for non-Skylake CPUs with AVX512. Right? 
What number 4096 is based on. It seems AVX3Threshold == 0 has special meaning - add line in 
globals_x86.hpp explaining it. I would need more time to look on related changes.

Thanks,
Vladimir

On 9/3/19 5:02 PM, Deshpande, Vivek R wrote:
> Hi All
> 
> I have created a patch which sets AVX2 for Skylake and selectively uses EVEX instructions based on threshold
> for platforms after Skylake.
> I don't observe the regressions for SPECjvm2008 on Skylake with this patch.
> JBS id:
> https://bugs.openjdk.java.net/browse/JDK-8221092
> Webrev:
> http://cr.openjdk.java.net/~vdeshpande/8221092/webrev.00/
> Could you all please review the patch.
> 
> Regards,
> Vivek
> 


More information about the hotspot-compiler-dev mailing list