summaryrefslogtreecommitdiff
path: root/src/pkg/runtime/arm/cas6.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/arm/cas6.s')
-rw-r--r--src/pkg/runtime/arm/cas6.s29
1 files changed, 0 insertions, 29 deletions
diff --git a/src/pkg/runtime/arm/cas6.s b/src/pkg/runtime/arm/cas6.s
deleted file mode 100644
index 43788b28a..000000000
--- a/src/pkg/runtime/arm/cas6.s
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// bool cas(int32 *val, int32 old, int32 new)
-// Atomically:
-// if(*val == old){
-// *val = new;
-// return 1;
-// }else
-// return 0;
-
-TEXT runtime·cas(SB),7,$0
- MOVW 0(FP), R1 // *val
- MOVW 4(FP), R2 // old
- MOVW 8(FP), R3 // new
-l:
- LDREX (R1), R0
- CMP R0, R2
- BNE fail
- STREX R3, (R1), R0
- CMP $0, R0
- BNE l
- MOVW $1, R0
- RET
-fail:
- MOVW $0, R0
- RET
-