1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
15 offsetARM64HasATOMICS = unsafe.Offsetof(cpu.ARM64.HasATOMICS)
19 func Xadd(ptr *uint32, delta int32) uint32
22 func Xadd64(ptr *uint64, delta int64) uint64
25 func Xadduintptr(ptr *uintptr, delta uintptr) uintptr
28 func Xchg(ptr *uint32, new uint32) uint32
31 func Xchg64(ptr *uint64, new uint64) uint64
34 func Xchguintptr(ptr *uintptr, new uintptr) uintptr
37 func Load(ptr *uint32) uint32
40 func Load8(ptr *uint8) uint8
43 func Load64(ptr *uint64) uint64
45 // NO go:noescape annotation; *ptr escapes if result escapes (#31525)
46 func Loadp(ptr unsafe.Pointer) unsafe.Pointer
49 func LoadAcq(addr *uint32) uint32
52 func LoadAcq64(ptr *uint64) uint64
55 func LoadAcquintptr(ptr *uintptr) uintptr
58 func Or8(ptr *uint8, val uint8)
61 func And8(ptr *uint8, val uint8)
64 func And(ptr *uint32, val uint32)
67 func Or(ptr *uint32, val uint32)
70 func Cas64(ptr *uint64, old, new uint64) bool
73 func CasRel(ptr *uint32, old, new uint32) bool
76 func Store(ptr *uint32, val uint32)
79 func Store8(ptr *uint8, val uint8)
82 func Store64(ptr *uint64, val uint64)
84 // NO go:noescape annotation; see atomic_pointer.go.
85 func StorepNoWB(ptr unsafe.Pointer, val unsafe.Pointer)
88 func StoreRel(ptr *uint32, val uint32)
91 func StoreRel64(ptr *uint64, val uint64)
94 func StoreReluintptr(ptr *uintptr, val uintptr)