Commit 1200f216 authored by Heiko Carstens's avatar Heiko Carstens
Browse files

s390/spinlock: Generate shorter code for arch_spin_unlock()



Use mvhhi instead of sth to write a zero to spinlocks. Compared to the
sth variant this avoids the load of zero to a register, and reduces
register pressure.

Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 2c3bc137
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -82,9 +82,9 @@ static inline void arch_spin_unlock(arch_spinlock_t *lp)
	kcsan_release();
	asm_inline volatile(
		ALTERNATIVE("nop", ".insn rre,0xb2fa0000,7,0", ALT_FACILITY(49)) /* NIAI 7 */
		"	sth	%[zero],%[lock]\n"
		: [lock] "=R" (((unsigned short *)&lp->lock)[1])
		: [zero] "d" (0)
		"	mvhhi	%[lock],0\n"
		: [lock] "=Q" (((unsigned short *)&lp->lock)[1])
		:
		: "memory");
}