Commit 97124af9 authored by Cherry Zhang's avatar Cherry Zhang

runtime/internal/atomic: unify sys_*_arm.s on non-linux

Updates #23778.

Change-Id: I80e57a15b6e3bbc2e25ea186399ff0e360fc5c21
Reviewed-on: https://go-review.googlesource.com/93635
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarAustin Clements <austin@google.com>
parent a90fc6d2
// 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.
#include "textflag.h"
TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
// 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.
#include "textflag.h"
// This is only valid for ARMv6+, however, NaCl/ARM is only defined
// for ARMv7A anyway.
TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
// 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.
#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 runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
......@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !linux,arm
#include "textflag.h"
// TODO(minux): this is only valid for ARMv6+
......@@ -12,8 +14,8 @@
// return 1;
// }else
// return 0;
TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT ·Cas(SB),NOSPLIT,$0
JMP ·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
TEXT ·Casp1(SB),NOSPLIT,$0
JMP ·Cas(SB)
// 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.
#include "textflag.h"
TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
// 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.
#include "textflag.h"
TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT,$0
B runtime∕internal∕atomic·armcas(SB)
TEXT runtime∕internal∕atomic·Casp1(SB),NOSPLIT,$0
B runtime∕internal∕atomic·Cas(SB)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment