RFR: 8260501: [Vector API] Improve register usage for shift operations on x86 [v2]
Jie Fu
jiefu at openjdk.java.net
Thu Jan 28 08:43:41 UTC 2021
On Thu, 28 Jan 2021 08:21:34 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Jie Fu has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Recuce the binary size
>> - Revert changes
>
> Looks good.
> > With the original patch, the size of libjvm.so on Linux/x64 will be increased by ~0.085%.
>
> Just wanted to point out that it was a deliberate compromise. Small things quickly add up and there was a noticeable static footprint increase from Vector API support due to numerous new AD instructions added. (There's still room for improvement, but the refactorings targeted at reducing the overall number of AD instructions allowed to keep it under control.)
>
> There were other cases where generated code quality could worsen a bit and I don't want to see subsequent patches to revert those changes unless there are compelling code quality improvements.
>
> > However, vshiftL_imm and vshiftI_imm can still be optimized without increasing the binary size.
> > And the size of libjvm.so will be further decreased by ~0.003% with the updated patch on Linux/x64.
> > So are you OK with it?
>
> Yes, I do. And normally I don't have concerns about footprint increase from adding individual AD instructions. It's specific to vectorization support that stretches C2 in unusual ways on x86.
Got it and I totally agree with you @iwanowww .
Thanks for your review and comments.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2257
More information about the hotspot-compiler-dev
mailing list