This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: PATCH: Fix ll/sc for mips (take 3)
On Mon, Feb 04, 2002 at 09:58:04PM -0500, Daniel Jacobowitz wrote:
>
> > --- libc/linuxthreads/sysdeps/mips/pspinlock.c.llsc Mon Feb 4 13:45:01 2002
> > +++ libc/linuxthreads/sysdeps/mips/pspinlock.c Mon Feb 4 17:09:02 2002
> > @@ -40,7 +40,7 @@ __pthread_spin_lock (pthread_spinlock_t
> > "bnez %1,1b\n\t"
> > " li %2,1\n\t"
> > "sc %2,%0\n\t"
> > - "beqzl %2,1b\n\t"
> > + "beqz %2,1b\n\t"
> > " ll %1,%3\n\t"
> > ".set pop"
> > : "=m" (*lock), "=&r" (tmp1), "=&r" (tmp2)
>
> Is that really what you meant to do? The ll is now in the delay slot
> of the beqz.
Yes, it is ok since we don't care what ll does if the branch is not
taken.
H.J.