https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128010

--- Comment #4 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to nsz from comment #3)
> for the record the linux syscall abi:
> https://www.kernel.org/doc/html/latest/arch/arm64/sve.html#system-call-
> behaviour

"On syscall, V0..V31 are preserved (as without SVE). Thus, bits [127:0] of
Z0..Z31 are preserved. All other bits of Z0..Z31, and all of P0..P15 and FFR
become zero on return from a syscall.

"

Oh, this is worse.  Because a normal function will only save [63:0] even
(except for the vector ABI functions).

So if you really need this case to work; my suggestion is not do any inline-asm
system calls.

"the point of
inline syscalls is to minimize register spills and shuffling so
such spill is not acceptable."

Because the system call itself will be slow.  So I am not sure you want to have
this loop in general.

Can you show where this was showing up because it sounds like just premature
optimization.

Reply via email to