<div dir="ltr">Hey, moving this discussion out of PR.<div><br></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><b>></b>I think that's what RISC-V profiles are for [1] which make some basic extensions mandatory. And we already have JVM options like <code class="notranslate">UseRVA20U64</code> and <code class="notranslate">UseRVA22U64</code> for riscv. But there are still some >optional extensions for each profile, say RVV for RVA22U64. So instead of feeding a rather long march to the JVM, I feel it's more reasonable to have some JVM options at the extension level (instead of >sub-extension level) as suggested by <a class="notranslate" href="https://github.com/robehn" target="_blank">@robehn</a>.<br></div>
<p dir="auto">>Personally, I would suggest something slightly different. Say:<br>>"-XX:VectorCryptoExt=all", "-XX:VectorCryptoExt=zvknhb", "-XX:VectorCryptoExt=zvknhb_zvkb"<br>><br>>This way we will still be able to distinguish specific sub-extensions while keeping one JVM option for each extension/collection.<br>><br>>[1] <a href="https://github.com/riscv/riscv-profiles/blob/main/profiles.adoc" target="_blank">https://github.com/riscv/riscv-profiles/blob/main/profiles.adoc</a></p>
<p style="font-size:small;color:#666">To me it looks like profiles will only work for simple CPUs, UseRVA22U64 only have 23 mandatory extensions and I'm seeing that we may have CPUs with 100+.<br>And the 'group name' zvkn doesn't work since we are stilling adding new extensions under it, such as zvknf.<br>Also we need to consider these may need to be versioned in the future.<br><br>I'm conflicted regarding the flags names, on x86 it uses e.g. UseAVX=<version>.<br>So UseRVV is more inline with that, UseVectorCrypto is a nicer read, but do it include zvbb for example ?<br>In that case UseZvk.. UseZvb.. make more sense.<br><br>x86 have a many features without flags e.g. CPU_AVX512_VAES.<br>It is only turn on if the VM find a CPU supporting this.<br><br>I think my suggestion is that we do the same for as many of the extensions as possible, have no external flag.<br><span style="color:transparent;font-size:0;display:none;overflow:hidden;opacity:0;width:0;height:0;max-width:0;max-height:0">Message ID: <span><openjdk/jdk/pull/16562/review/1726824721</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p><p style="font-size:small;color:#666">/Robbin</p>
</div></div></div>