i.std[intrinsicKey{"runtime/internal/atomic", "Store64"}]
i.std[intrinsicKey{"sync/atomic", "SwapInt32"}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg"}]
i.std[intrinsicKey{"sync/atomic", "SwapInt64"}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap64"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg64"}]
i.std[intrinsicKey{"sync/atomic", "SwapUint32"}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg"}]
i.std[intrinsicKey{"sync/atomic", "SwapUint64"}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap64"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg64"}]
i.ptrSized[sizedIntrinsicKey{"sync/atomic", "SwapUintptr", 4}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg"}]
i.ptrSized[sizedIntrinsicKey{"sync/atomic", "SwapUintptr", 8}] =
- i.std[intrinsicKey{"runtime/internal/atomic", "Swap64"}]
+ i.std[intrinsicKey{"runtime/internal/atomic", "Xchg64"}]
i.std[intrinsicKey{"sync/atomic", "CompareAndSwapInt32"}] =
i.std[intrinsicKey{"runtime/internal/atomic", "Cas"}]
--- /dev/null
+// +build amd64
+
+// Copyright 2016 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.
+
+package main
+
+import "sync/atomic"
+
+var x uint32
+
+func atomics() {
+ _ = atomic.LoadUint32(&x) // ERROR "intrinsic substitution for LoadUint32"
+ atomic.StoreUint32(&x, 1) // ERROR "intrinsic substitution for StoreUint32"
+ atomic.AddUint32(&x, 1) // ERROR "intrinsic substitution for AddUint32"
+ atomic.SwapUint32(&x, 1) // ERROR "intrinsic substitution for SwapUint32"
+ atomic.CompareAndSwapUint32(&x, 1, 2) // ERROR "intrinsic substitution for CompareAndSwapUint32"
+}