Re: Re: [PATCH] Fix the atomic compare and swap

"John David Anglin" <[email protected]>
Newsgroups gmane.linux.ports.hppa
Message-ID <[email protected]>
> Then, what about this patch?
> 
> --- ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h.orig	2007-05-20 23:15:37.000000000 +0200
> +++ ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h	2007-05-20 23:15:59.000000000 +0200
> @@ -71,10 +71,10 @@
>  	"copy	%5, %%r24			\n\t"			\
>  	"ble	" LWS "(%%sr2, %%r0)		\n\t"			\
>  	"ldi	" LWS_CAS ", %%r20		\n\t"			\
> +        "sub	%%r0, %%r21, %%r21		\n\t"			\
>  	"cmpib,=,n " ASM_EAGAIN ",%%r21,0b	\n\t"			\

Hmmm, I think the original code was better since it keeps the sub
instruction outside the loop.  The cmpib instruction could be modified
to negate the ASM_EAGAIN.

On the otherhand, I'm now thinking that macros like LWS, LWS_CAS and
ASM_EAGAIN shouldn't be used as they are names that could be used in
user code.

Dave
-- 
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.