diff options
Diffstat (limited to 'src/atomic_ops/sysdeps/gcc/x86.h')
-rw-r--r-- | src/atomic_ops/sysdeps/gcc/x86.h | 4 |
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) |