RFR: 8309660: C2: failed: XMM register should be 0-15 (UseKNLSetting and ConvF2HF)

Emanuel Peter epeter at openjdk.org
Fri Jun 30 10:13:57 UTC 2023


On Thu, 22 Jun 2023 19:36:48 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> @eme64 Yes that was my mistake, that node requires AVX512VL so `vlRegF` and `regF` are the same.
>> 
>>> Is there a way to stress-test the registers?
>> 
>> Can we randomise the allocated register during register allocation?
>> 
>> Thanks.
>
>> Is there a way to stress-test the registers?
> 
> As an idea for such a stress test mode, is it possible to make `regF`/`vlRegF`, `regD`/`vlRegD` (and `vec`/`legVec` family of register classes) disjoint sets (`xmm0-xmm15` and `xmm16-xmm31`)? It should be enough to trigger relevant asserts whenever an AD instruction is used.

@iwanowww @merykitty @sviswa7 I think the best would really be randomization. But I have no expertise in the register allocation. Maybe we can just disable a random subset of registers? That would also stress spilling, which sometimes has lead to issues before.

Anyway. I think this fix is ok regardless. Can I get a second review, please? ;)

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

PR Comment: https://git.openjdk.org/jdk/pull/14379#issuecomment-1614440755


More information about the hotspot-compiler-dev mailing list