unsigned long tmp, tmp2;
static inline void _raw_read_unlock(rwlock_t *rw){	__asm__ __volatile__("1:	ldrex	%0, [%2]\n""	sub	%0, %0, #1\n""	strex	%1, %0, [%2]\n""	teq	%1, #0\n""	bne	1b"	: "=&r" (tmp), "=&r" (tmp2)	: "r" (&rw->lock)	: "cc", "memory");}