RFR: 8367611: Enable vblendvp[sd] on Future ECore [v3]
Mohamed Issa
missa at openjdk.org
Tue Sep 23 19:11:49 UTC 2025
On Tue, 23 Sep 2025 14:00:51 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> The patch itself looks fine, but the way instruction emulation is implemented (as introduced by JDK-8320347) doesn't fit the design well. It does look appealing to abstract away the choice, but it becomes confusing when there's a need to reason about exact code shape. Another consequence is code duplication where both x86.ad and `MacroAssembler::vblendvp[sd]` provide their own emulated versions.
>
> I suggest to reshape it and extract emulated variant into separate methods leaving `Assembler::vblendvp[sd]` as is. Then, for convenience, `C2_MacroAssembler` can provide new methods which do CPU dispatching or just do dispatching explicitly at call sites in `c2_MacroAssembler_x86.cpp`. Also, it's better to move CPU sensing logic to `VM_Version`, so the checks and code emission logic can be unified across all use sites (in `c2_MacroAssembler_x86.cpp` and `x86.ad`).
>
> I'm fine with addressing it either as part of this PR or as a follow-up enhancement.
Thank you for the suggestion. I created [JDK-8368492](https://bugs.openjdk.org/browse/JDK-8368492) to track the enhancement.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27354#issuecomment-3325213645
More information about the hotspot-dev
mailing list