mirror of git://git.musl-libc.org/musl
cfc09b1ecf
by using the "ir" constraint (immediate or register) and the carefully constructed instruction addu $2,$0,%2 which can take either an immediate or a register for %2, the new inline asm admits maximal optimization with no register spillage to the stack when the compiler successfully performs constant propagration, but still works by allocating a register when the syscall number cannot be recognized as a constant. in the case of syscalls with 0-3 arguments it barely matters, but for 4-argument syscalls, using an immediate for the syscall number avoids creating a stack frame for the syscall wrapper function. |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
mips | ||
x86_64 |