| // 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. |
| // TODO(minux): this is only valid for ARMv6+ |
| // bool armcas(int32 *val, int32 old, int32 new) |
| // 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 |
| MOVB runtime·goarm(SB), R11 |
| TEXT ·Store(SB),NOSPLIT,$0-8 |
| MOVB runtime·goarm(SB), R8 |