Messages in this thread | | | Date | Thu, 23 Feb 2017 07:43:37 +0900 | From | Stafford Horne <> | Subject | Re: [OpenRISC] [PATCH v3 08/25] openrisc: add cmpxchg and xchg implementations |
| |
On Thu, Feb 23, 2017 at 04:30:35AM +1100, Richard Henderson wrote: > On 02/23/2017 01:20 AM, Stafford Horne wrote: > > On Wed, Feb 22, 2017 at 12:19:40PM +0100, Peter Zijlstra wrote: > > > On Wed, Feb 22, 2017 at 04:11:37AM +0900, Stafford Horne wrote: > > > > + __asm__ __volatile__( > > > > + "1: l.lwa %0, 0(%1) \n" > > > > + " l.sfeq %0, %2 \n" > > > > + " l.bnf 1f \n" > > > > + " l.nop \n" > > > > + " l.swa 0(%1), %3 \n" > > > > + " l.bnf 1b \n" > > > > + "1: l.nop \n" > > > > + : "=&r"(old) > > > > + : "r"(ptr), "r"(old), "r"(new) > > > > + : "cc", "memory"); > > > > > > I just noticed this, but having both labels have the same name is > > > somewhat confusing. > > > > Right, better to use '2' for the second one. > > Better still to put the second label after the delay-slot nop. > You don't need to execute that on the way out.
Right, thats a good point, lots of cases like this. I will go through them.
> r~ >
| |