This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]