#endif /* __s390__ || __s390x__ */
#if defined(__sh__)
#define HAS_TEST_AND_SET
typedef unsigned char slock_t;
#define TAS(lock) tas(lock)
static __inline__ int
tas(volatile slock_t *lock)
{
register int _res = 1;
__asm__ __volatile__(
"tas.b @%1\n\t"
"movt %0\n\t"
"xor #1,%0"
: "=z"(_res)
: "r"(lock)
: "t","memory");
return _res;
}
#endif /* __sh__ */
#if defined(__sparc__)