On Mon, 15 Apr 2024 22:04:14 GMT, Volodymyr Paprotski <d...@openjdk.org> wrote:

>> src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp line 394:
>> 
>>> 392:   __ lea(aLimbs, Address(aLimbs,8));
>>> 393:   __ lea(bLimbs, Address(bLimbs,8));
>>> 394:   __ jmp(L_DefaultLoop);
>> 
>> Both sub and cmp are flag affecting instructions and are macro-fusible. 
>> By doing a loop rotation i.e. moving the length <= 0 check outside the loop 
>> and pushing the loop exit check at bottom you can save additional compare 
>> checks.
>
> Per-above, this is a switch statement (`UNLIKELY`) fallback. I can still add 
> alignment and loop rotation, but being a fallback figured its more important 
> to keep it small&readable...

It's all part of intrinsic, no harm in polishing it.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/18583#discussion_r1566630667

Reply via email to