x86, asm: Use CC_SET()/CC_OUT() in <asm/rwsem.h>

Remove open-coded uses of set instructions to use CC_SET()/CC_OUT() in
<asm/rwsem.h>.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/1465414726-197858-9-git-send-email-hpa@linux.intel.com
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
H. Peter Anvin 2016-06-08 12:38:44 -07:00 committed by H. Peter Anvin
parent 64be6d36f5
commit 35ccfb7114

View File

@ -149,10 +149,10 @@ static inline bool __down_write_trylock(struct rw_semaphore *sem)
LOCK_PREFIX " cmpxchg %2,%0\n\t" LOCK_PREFIX " cmpxchg %2,%0\n\t"
" jnz 1b\n\t" " jnz 1b\n\t"
"2:\n\t" "2:\n\t"
" sete %3\n\t" CC_SET(e)
"# ending __down_write_trylock\n\t" "# ending __down_write_trylock\n\t"
: "+m" (sem->count), "=&a" (tmp0), "=&r" (tmp1), : "+m" (sem->count), "=&a" (tmp0), "=&r" (tmp1),
"=qm" (result) CC_OUT(e) (result)
: "er" (RWSEM_ACTIVE_WRITE_BIAS) : "er" (RWSEM_ACTIVE_WRITE_BIAS)
: "memory", "cc"); : "memory", "cc");
return result; return result;