On Wed, Jun 25, 2025 at 4:59 PM Florian Weimer <fwei...@redhat.com> wrote:
>
> * H. J. Lu:
>
> > Add preserve_none attribute which is similar to no_callee_saved_registers
> > attribute, except on x86-64, r12, r13, r14, r15, rdi and rsi registers are
> > used for integer parameter passing.  This can be used in an interpreter
> > to avoid saving/restoring the registers in functions which process byte
> > codes.  It improved the pystones benchmark by 6-7%:
> >
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119628#c15
> >
> > Remove -mgeneral-regs-only restriction on no_caller_saved_registers
> > attribute.  Only SSE is allowed since SSE XMM register load preserves
> > the upper bits in YMM/ZMM register while YMM register load zeros the
> > upper 256 bits of ZMM register, and preserving 32 ZMM registers can
> > be quite expensive.
>
> Please consider updating the x86-64 psABI, along the suggestions here:
>
>   Document the ABI for __preserve_most__ function calls
>   <https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/45>
>

Done:

https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/64

-- 
H.J.

Reply via email to