summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/ppc/__testandset.S
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/ppc/__testandset.S')
-rw-r--r--mdk-stage1/dietlibc/ppc/__testandset.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/mdk-stage1/dietlibc/ppc/__testandset.S b/mdk-stage1/dietlibc/ppc/__testandset.S
index a6063fbb2..146982337 100644
--- a/mdk-stage1/dietlibc/ppc/__testandset.S
+++ b/mdk-stage1/dietlibc/ppc/__testandset.S
@@ -2,10 +2,11 @@
.type __testandset,@function
.align 2
__testandset:
- lwarx 5,0,3
- add 0,4,5
- stwcx 0,0,3
- bne __testandset
+1: lwarx 5,0,3
+ li 0,1
+ stwcx. 0,0,3
+ bne- 1b
+ mr 3,5
blr
.size __testandset,.-__testandset