[jdk17] RFR: 8269828: corrections in some instruction patterns for KNL x86 platform

Vladimir Kozlov kvn at openjdk.java.net
Wed Jul 7 22:33:49 UTC 2021


On Wed, 7 Jul 2021 16:09:08 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> Currently a temporary operand with register class regD is used in rep_stos_evex and rep_stos_large_evex instruction patterns,  whose encoding blocks calls xmm_clear_mem routine which has a VEX encoded instruction in the control path.
> Thus regD class should be changed to legRegD on AVX512 platforms so that operand is always allocated from lower register bank (0-15).
> 
> There is one more issue related to usage of regD operand which is a scalar operand in a vector instruction, usually such cases may result into problems during spilling/restoration since only a scalar value is dumped and restored back, but in current context its a temporary operand may never get spilled.

hs-tier1-3 testing passed.

-------------

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.java.net/jdk17/pull/225


More information about the hotspot-compiler-dev mailing list