From 4967dadcdf358bb3b8237f5a877490b87d3d2b8a Mon Sep 17 00:00:00 2001 From: Charles Forsyth Date: Mon, 7 Dec 2015 16:16:08 +0000 Subject: r4 is not a scratch register (via graham gallagher), issue 342 --- emu/Linux/arm-tas-v7.S | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'emu') diff --git a/emu/Linux/arm-tas-v7.S b/emu/Linux/arm-tas-v7.S index 30515607..584b31fb 100644 --- a/emu/Linux/arm-tas-v7.S +++ b/emu/Linux/arm-tas-v7.S @@ -18,10 +18,13 @@ _tas: tas1: ldrex r0, [r1] cmp r0, #0 - bxne lr - strex r4, r2, [r1] - cmp r4, #0 + bne lockbusy + strex r3, r2, [r1] + cmp r3, #0 bne tas1 DMB bx lr +lockbusy: + clrex + bx lr .size _tas, .-_tas -- cgit v1.2.3