RFR: 8359965: Enable paired pushp and popp instruction usage for APX enabled CPUs [v2]
Jatin Bhateja
jbhateja at openjdk.org
Mon Jul 21 15:48:28 UTC 2025
On Mon, 14 Jul 2025 17:27:35 GMT, Srinivas Vamsi Parasa <sparasa at openjdk.org> wrote:
>> src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp line 114:
>>
>>> 112: __ paired_push(rax);
>>> 113: }
>>> 114: __ paired_push(rcx);
>>
>> Hi @vamsi-parasa , for consecutive push/pop we can use push2/pop2 and 16byte alignment can be guaranteed using following technique
>> https://github.com/openjdk/jdk/pull/25351/files#diff-d5d721ebf93346ba66e81257e4f6c5e6268d59774313c61e97353c0dfbf686a5R94
>
> Hi Jatin (@jatin-bhateja), for the first iteration, would it be ok to get the push_paired/pop_paired changes integrated and then make the push2p/pop2p related optimizations in a separate PR?
>
> Thanks,
> Vamsi
Hi @vamsi-parasa , I think it's ok not to expose pop_ppx / push_ppx as separate interfaces, and let processor forward the values b/w push and matching pop if balancing constraints are satisfied.
<img width="1055" height="151" alt="image" src="https://github.com/user-attachments/assets/6923ca1b-11eb-4fae-8d51-14f1bfe27cea" />
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25889#discussion_r2219586716
More information about the hotspot-compiler-dev
mailing list