[jdk17] RFR: 8269828: corrections in some instruction patterns for KNL x86 platform
Vladimir Kozlov
kvn at openjdk.java.net
Wed Jul 7 17:14:51 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.
Seems reasonable. Let me test it.
-------------
PR: https://git.openjdk.java.net/jdk17/pull/225
More information about the hotspot-compiler-dev
mailing list