RFR: 8367611: Enable vblendvp[sd] on Future ECore [v2]
Mohamed Issa
missa at openjdk.org
Fri Sep 19 21:57:33 UTC 2025
On Fri, 19 Sep 2025 18:57:20 GMT, Volodymyr Paprotski <vpaprotski at openjdk.org> wrote:
>> Mohamed Issa has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Use function to identify Darkmont cores instead of global flag
>
> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 2900:
>
>> 2898: void MacroAssembler::vblendvps(XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask, int vector_len, bool compute_mask, XMMRegister scratch) {
>> 2899: // WARN: Allow dst == (src1|src2), mask == scratch
>> 2900: bool use_blend_instr = VM_Version::is_intel_darkmont() && (dst == src1);
>
> My only real comment is a nit-pick about the variable name.. `use_blend_instr` implies a range of _darkmont and above_ and _'EnableX86CoreOpts' and 'below'_.. which is not the value of this variable (i.e. just darkmont and above). Perhaps `blend_fixed`? `blend_partly_fixed`? Or 'just' add it to the `blend_emulation`...
>
> bool blend_emulation = EnableX86ECoreOpts && UseAVX > 1
> && VM_Version::is_intel_darkmont() && (dst == src1); // partly fixed on Darkmont
I added it to `blend_emulation` as that seems to make the most sense.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27354#discussion_r2364615340
More information about the hotspot-dev
mailing list