diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-12-11 10:01:31 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-12-11 10:01:31 +0000 |
commit | d5347dd20a79a4f2b80d6910dc02d6b38017d1b2 (patch) | |
tree | ef42921c94e84be1c6e161cf66d8b874a57a6849 /libc | |
parent | 6e3adb1f64a3253b4a078955979b817888d05ceb (diff) |
use newer spiffy asm constraints to get better code generation
Diffstat (limited to 'libc')
-rw-r--r-- | libc/sysdeps/linux/bfin/syscall.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/libc/sysdeps/linux/bfin/syscall.c b/libc/sysdeps/linux/bfin/syscall.c index 1db873874..d68eb6e2f 100644 --- a/libc/sysdeps/linux/bfin/syscall.c +++ b/libc/sysdeps/linux/bfin/syscall.c @@ -29,24 +29,16 @@ long syscall(long sysnum, long a, long b, long c, long d, long e, long f) int _r0 = 0; __asm__ __volatile__ ( - "R5 = %7;" - "R4 = %6;" - "R3 = %5;" - "R2 = %4;" - "R1 = %3;" - "R0 = %2;" - "P0 = %1;" "excpt 0;" - "%0 = R0;" - : "=r" (_r0) - : "rm" (sysnum), - "rm" (a), - "rm" (b), - "rm" (c), - "rm" (d), - "rm" (e), - "rm" (f) - : "memory","CC","R0","R1","R2","R3","R4","R5","P0"); + : "=q0" (_r0) + : "qA" (sysnum), + "q0" (a), + "q1" (b), + "q2" (c), + "q3" (d), + "q4" (e), + "q5" (f) + : "memory", "CC"); if (_r0 >= (unsigned long) -4095) { (*__errno_location()) = (-_r0); |