#define AO_INTEL_PTR_t void *
AO_INLINE AO_t
-AO_load_acquire(volatile AO_t *p)
+AO_load_acquire(const volatile AO_t *p)
{
return (AO_t)(__ld8_acq((AO_INTEL_PTR_t)p));
}
#define AO_HAVE_store_release
AO_INLINE unsigned char
-AO_char_load_acquire(volatile unsigned char *p)
+AO_char_load_acquire(const volatile unsigned char *p)
{
/* A normal volatile load generates an ld.acq */
return (__ld1_acq((AO_INTEL_PTR_t)p));
#define AO_HAVE_char_store_release
AO_INLINE unsigned short
-AO_short_load_acquire(volatile unsigned short *p)
+AO_short_load_acquire(const volatile unsigned short *p)
{
/* A normal volatile load generates an ld.acq */
return (__ld2_acq((AO_INTEL_PTR_t)p));
#define AO_HAVE_short_store_release
AO_INLINE unsigned int
-AO_int_load_acquire(volatile unsigned int *p)
+AO_int_load_acquire(const volatile unsigned int *p)
{
/* A normal volatile load generates an ld.acq */
return (__ld4_acq((AO_INTEL_PTR_t)p));
#define AO_HAVE_int_store_release
AO_INLINE void
-AO_nop_full()
+AO_nop_full(void)
{
__mf();
}