summaryrefslogtreecommitdiff
path: root/src/atomic_ops/sysdeps/gcc/x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/atomic_ops/sysdeps/gcc/x86.h')
-rw-r--r--src/atomic_ops/sysdeps/gcc/x86.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/x86.h b/src/atomic_ops/sysdeps/gcc/x86.h
index 11ac54b..0c7d703 100644
--- a/src/atomic_ops/sysdeps/gcc/x86.h
+++ b/src/atomic_ops/sysdeps/gcc/x86.h
@@ -56,6 +56,7 @@ AO_nop_full(void)
/* currently needed or useful for cached memory accesses. */
/* Really only works for 486 and later */
+#ifndef AO_PREFER_GENERALIZED
AO_INLINE AO_t
AO_fetch_and_add_full (volatile AO_t *p, AO_t incr)
{
@@ -67,6 +68,7 @@ AO_fetch_and_add_full (volatile AO_t *p, AO_t incr)
return result;
}
#define AO_HAVE_fetch_and_add_full
+#endif /* !AO_PREFER_GENERALIZED */
AO_INLINE unsigned char
AO_char_fetch_and_add_full (volatile unsigned char *p, unsigned char incr)
@@ -92,6 +94,7 @@ AO_short_fetch_and_add_full (volatile unsigned short *p, unsigned short incr)
}
#define AO_HAVE_short_fetch_and_add_full
+#ifndef AO_PREFER_GENERALIZED
/* Really only works for 486 and later */
AO_INLINE void
AO_and_full (volatile AO_t *p, AO_t value)
@@ -116,6 +119,7 @@ AO_xor_full (volatile AO_t *p, AO_t value)
"=m" (*p) : "r" (value), "m" (*p) : "memory");
}
#define AO_HAVE_xor_full
+#endif /* !AO_PREFER_GENERALIZED */
AO_INLINE AO_TS_VAL_t
AO_test_and_set_full(volatile AO_TS_t *addr)