diff options
| -rw-r--r-- | libc/sysdeps/linux/bfin/bits/byteswap.h | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/bfin/bits/byteswap.h b/libc/sysdeps/linux/bfin/bits/byteswap.h index de6862236..74b87d94c 100644 --- a/libc/sysdeps/linux/bfin/bits/byteswap.h +++ b/libc/sysdeps/linux/bfin/bits/byteswap.h @@ -25,9 +25,10 @@  	 if (__builtin_constant_p (__x))				      \  	   __v = __bswap_constant_16 (__x);				      \  	 else								      \ -	   __asm__ ("%0 <<= 8;"						      \ -		    "%1.L = %0.L + %0.H (NS);"				      \ -		    : "+d" (__x), "=d" (__v));				      \ +	   __asm__ ("%0 = PACK (%1.L, %1.L);"				      \ +		    "%0 >>= 8;"						      \ +		    : "=d" (__v)					      \ +		    : "d" (__x));					      \  	 __v; }))  #else  static __inline unsigned short int  | 
