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