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 | |
| parent | 6e3adb1f64a3253b4a078955979b817888d05ceb (diff) | |
use newer spiffy asm constraints to get better code generation
| -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);  | 
