[11] RFR(M) 8201193: Use XMM/YMM for objects initialization
John Rose
john.r.rose at oracle.com
Mon Jun 11 21:09:04 UTC 2018
On Jun 11, 2018, at 1:57 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> AMD processors don't have ERMS (Enhanced REP MOVSB/STOSB) support. To have good performance it is suggested to use SSE/AVX wide registers stores instead of 'rep stosq'. It shows better performance on AMD cpus.
>
> Tested with jdk-tier1, hs-tier1, hs-tier2, hs-precheckin-comp (-Xcomp), hs-graal on all x86 OSs. And using '-XX:-UseFastStosb -XX:+UseXMMForObjInit' flags combination to force new code generation.
Good stuff. I have one suggestion: If possible, let's use
macroassembler to generate the code from the AD files.
It is a maintainability problem to have three copies of
the same algorithm. I notice in particular that the AD
file versions don't support UseAVX==1 while the assembler
does. That's going to give some maintainer nightmares
in a few years.
— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180611/e5fc90df/attachment.html>
More information about the hotspot-compiler-dev
mailing list