RFR: 8374926: EnableX86ECoreOpts was not enabled on some hybrid CPU [v3]
Volodymyr Paprotski
vpaprotski at openjdk.org
Thu Jan 22 16:20:12 UTC 2026
On Fri, 16 Jan 2026 01:12:33 GMT, Volodymyr Paprotski <vpaprotski at openjdk.org> wrote:
>> Yasumasa Suenaga has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>>
>> - Merge remote-tracking branch 'origin/master' into ecoreopt-hybrid
>> - Merge remote-tracking branch 'origin/master' into ecoreopt-hybrid
>> - Use supports_hybrid() to check for EnableX86ECoreOpts
>> - Add comments for CPU models
>
> For CWF (model `0xDD`), `hy-core-check.c` prints:
>
> Hybrid: 0
> HT: 1
> Max leaf: 0x28
>
> and for SRF (model `0XAF`):
>
> Hybrid: 0
> HT: 1
> Max leaf: 0x23
>
>
> When I added EnableX86ECoreOpts , I remember thinking that I need to 'make it more generic or there will be a lot of models to add manually'. Here we are :(
>
> I need to do more research (and perhaps find some people to talk to..); specifically for client-part numbers.
>
> Some reasons why I hadn't made it (yet?) more generic.. `EnableX86ECoreOpts` is supposed to be 'temporary' (the definition of which, for processors, is 'years'..). It currently enables 'emulation' type of (de)optimizations.. places where Atom cores have some catching up to do, but hopefully should be fixed:
> - MXCSR signaling flags
> - `vblendvp{sd}` emulation
> - pcmpestri 'emulation' in String.indexof
> - generate_fill (which perhaps could go under UseAVX=2 with more work/testing)
>
> In other words: we will at some point need to _disable_ `EnableX86ECoreOpts` on future hybrid cores and will again need another cpuid/flag to detect?
> I updated this PR to check leaf 1Ah like [this branch](https://github.com/YaSuenag/jdk/compare/ecoreopt-hybrid...YaSuenag:jdk:check-ecore). @vpaprotsk Could you check this change on both SRF and CWF?
I am waiting for some replies.. I do think adding hybrid check might be a good idea, at least for now. I still need to find a way to detect 'is ecore only'. And if I could detect only the parts that actually need this emulation. (Though maybe leave both of those to me for another PR.. I might have to start looking around 'experimentally' since I have the hardware and your program)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29149#issuecomment-3785290674
More information about the hotspot-dev
mailing list