Nobuhiro Iwamatsu <iwamatsu(at)nigauri(dot)org> writes:
> + __asm__ __volatile__(
> + "tas.b @%1\n\t"
> + "movt %0\n\t"
> + "xor #1,%0"
> +: "=z"(_res)
> +: "r"(lock)
> +: "t","memory");
Another question: this asm declaration ignores the advice given at lines
89-107 of s_lock.h, both cosmetic and substantive. Why? Are you
entirely certain it's right, and not subject to optimization problems in
versions of gcc other than whatever you tested?
regards, tom lane