aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal/atomic/sys_nonlinux_arm.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/internal/atomic/sys_nonlinux_arm.s')
-rw-r--r--src/runtime/internal/atomic/sys_nonlinux_arm.s79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/runtime/internal/atomic/sys_nonlinux_arm.s b/src/runtime/internal/atomic/sys_nonlinux_arm.s
deleted file mode 100644
index b55bf908a2..0000000000
--- a/src/runtime/internal/atomic/sys_nonlinux_arm.s
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2015 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.
-
-//go:build !linux
-
-#include "textflag.h"
-
-// TODO(minux): this is only valid for ARMv6+
-// bool armcas(int32 *val, int32 old, int32 new)
-// Atomically:
-// if(*val == old){
-// *val = new;
-// return 1;
-// }else
-// return 0;
-TEXT ·Cas(SB),NOSPLIT,$0
- JMP ·armcas(SB)
-
-// Non-linux OSes support only single processor machines before ARMv7.
-// So we don't need memory barriers if goarm < 7. And we fail loud at
-// startup (runtime.checkgoarm) if it is a multi-processor but goarm < 7.
-
-TEXT ·Load(SB),NOSPLIT|NOFRAME,$0-8
- MOVW addr+0(FP), R0
- MOVW (R0), R1
-
- MOVB runtime·goarm(SB), R11
- CMP $7, R11
- BLT 2(PC)
- DMB MB_ISH
-
- MOVW R1, ret+4(FP)
- RET
-
-TEXT ·Store(SB),NOSPLIT,$0-8
- MOVW addr+0(FP), R1
- MOVW v+4(FP), R2
-
- MOVB runtime·goarm(SB), R8
- CMP $7, R8
- BLT 2(PC)
- DMB MB_ISH
-
- MOVW R2, (R1)
-
- CMP $7, R8
- BLT 2(PC)
- DMB MB_ISH
- RET
-
-TEXT ·Load8(SB),NOSPLIT|NOFRAME,$0-5
- MOVW addr+0(FP), R0
- MOVB (R0), R1
-
- MOVB runtime·goarm(SB), R11
- CMP $7, R11
- BLT 2(PC)
- DMB MB_ISH
-
- MOVB R1, ret+4(FP)
- RET
-
-TEXT ·Store8(SB),NOSPLIT,$0-5
- MOVW addr+0(FP), R1
- MOVB v+4(FP), R2
-
- MOVB runtime·goarm(SB), R8
- CMP $7, R8
- BLT 2(PC)
- DMB MB_ISH
-
- MOVB R2, (R1)
-
- CMP $7, R8
- BLT 2(PC)
- DMB MB_ISH
- RET
-