diff options
Diffstat (limited to 'arch/ia64/include/asm/futex.h')
| -rw-r--r-- | arch/ia64/include/asm/futex.h | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/ia64/include/asm/futex.h b/arch/ia64/include/asm/futex.h index 0ab82cc2dc8..d2bf1fd5e44 100644 --- a/arch/ia64/include/asm/futex.h +++ b/arch/ia64/include/asm/futex.h @@ -106,15 +106,16 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,  		return -EFAULT;  	{ -		register unsigned long r8 __asm ("r8") = 0; +		register unsigned long r8 __asm ("r8");  		unsigned long prev;  		__asm__ __volatile__(  			"	mf;;					\n" -			"	mov ar.ccv=%3;;				\n" -			"[1:]	cmpxchg4.acq %0=[%1],%2,ar.ccv		\n" +			"	mov %0=r0				\n" +			"	mov ar.ccv=%4;;				\n" +			"[1:]	cmpxchg4.acq %1=[%2],%3,ar.ccv		\n"  			"	.xdata4 \"__ex_table\", 1b-., 2f-.	\n"  			"[2:]" -			: "=r" (prev) +			: "=r" (r8), "=r" (prev)  			: "r" (uaddr), "r" (newval),  			  "rO" ((long) (unsigned) oldval)  			: "memory");  |