summaryrefslogtreecommitdiff
path: root/libgo/go/runtime/internal/atomic/atomic.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/runtime/internal/atomic/atomic.c')
-rw-r--r--libgo/go/runtime/internal/atomic/atomic.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libgo/go/runtime/internal/atomic/atomic.c b/libgo/go/runtime/internal/atomic/atomic.c
index 17c83a28c1c..8ae4d7b619d 100644
--- a/libgo/go/runtime/internal/atomic/atomic.c
+++ b/libgo/go/runtime/internal/atomic/atomic.c
@@ -26,6 +26,16 @@ Loadp (void *ptr)
return __atomic_load_n ((void **) ptr, __ATOMIC_SEQ_CST);
}
+uint8_t Load8 (uint8_t *ptr)
+ __asm__ (GOSYM_PREFIX "runtime..z2finternal..z2fatomic.Load8")
+ __attribute__ ((no_split_stack));
+
+uint8_t
+Load8 (uint8_t *ptr)
+{
+ return __atomic_load_n (ptr, __ATOMIC_SEQ_CST);
+}
+
uint64_t Load64 (uint64_t *ptr)
__asm__ (GOSYM_PREFIX "runtime..z2finternal..z2fatomic.Load64")
__attribute__ ((no_split_stack));
@@ -238,6 +248,16 @@ Store (uint32_t *ptr, uint32_t val)
__atomic_store_n (ptr, val, __ATOMIC_SEQ_CST);
}
+void Store8 (uint8_t *ptr, uint8_t val)
+ __asm__ (GOSYM_PREFIX "runtime..z2finternal..z2fatomic.Store8")
+ __attribute__ ((no_split_stack));
+
+void
+Store8 (uint8_t *ptr, uint8_t val)
+{
+ __atomic_store_n (ptr, val, __ATOMIC_SEQ_CST);
+}
+
void Store64 (uint64_t *ptr, uint64_t val)
__asm__ (GOSYM_PREFIX "runtime..z2finternal..z2fatomic.Store64")
__attribute__ ((no_split_stack));