AO_INLINE unsigned char
AO_char_load_acquire(const volatile unsigned char *p)
{
- /* A normal volatile load generates a ld.acq instruction. */
+ /* A normal volatile load generates an ld.acq */
return (__ld1_acq((AO_INTEL_PTR_t)p));
}
#define AO_HAVE_char_load_acquire
AO_INLINE unsigned short
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_load_acquire
AO_INLINE unsigned int
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_load_acquire
{
AO_t result = *addr;
- /* A normal volatile load generates a ld.acq instruction (on IA-64). */
+ /* A normal volatile load generates an ld.acq (on IA-64). */
AO_GCC_BARRIER();
return result;
}
AO_store_release(volatile AO_t *addr, AO_t new_val)
{
AO_GCC_BARRIER();
- /* A normal volatile store generates a st.rel instruction (on IA-64). */
+ /* A normal volatile store generates an st.rel (on IA-64). */
*addr = new_val;
}
#define AO_HAVE_store_release
{
XCTYPE result = *addr;
- /* A normal volatile load generates a ld.acq instruction (on IA-64). */
+ /* A normal volatile load generates an ld.acq (on IA-64). */
AO_GCC_BARRIER();
return result;
}
AO_XSIZE_store_release(volatile XCTYPE *addr, XCTYPE new_val)
{
AO_GCC_BARRIER();
- /* A normal volatile store generates a st.rel instruction (on IA-64). */
+ /* A normal volatile store generates an st.rel (on IA-64). */
*addr = new_val;
}
#define AO_HAVE_XSIZE_store_release
{
unsigned/**/char result = *addr;
- /* A normal volatile load generates a ld.acq instruction (on IA-64). */
+ /* A normal volatile load generates an ld.acq (on IA-64). */
AO_GCC_BARRIER();
return result;
}
AO_char_store_release(volatile unsigned/**/char *addr, unsigned/**/char new_val)
{
AO_GCC_BARRIER();
- /* A normal volatile store generates a st.rel instruction (on IA-64). */
+ /* A normal volatile store generates an st.rel (on IA-64). */
*addr = new_val;
}
#define AO_HAVE_char_store_release
{
unsigned result = *addr;
- /* A normal volatile load generates a ld.acq instruction (on IA-64). */
+ /* A normal volatile load generates an ld.acq (on IA-64). */
AO_GCC_BARRIER();
return result;
}
AO_int_store_release(volatile unsigned *addr, unsigned new_val)
{
AO_GCC_BARRIER();
- /* A normal volatile store generates a st.rel instruction (on IA-64). */
+ /* A normal volatile store generates an st.rel (on IA-64). */
*addr = new_val;
}
#define AO_HAVE_int_store_release
{
unsigned/**/short result = *addr;
- /* A normal volatile load generates a ld.acq instruction (on IA-64). */
+ /* A normal volatile load generates an ld.acq (on IA-64). */
AO_GCC_BARRIER();
return result;
}
AO_short_store_release(volatile unsigned/**/short *addr, unsigned/**/short new_val)
{
AO_GCC_BARRIER();
- /* A normal volatile store generates a st.rel instruction (on IA-64). */
+ /* A normal volatile store generates an st.rel (on IA-64). */
*addr = new_val;
}
#define AO_HAVE_short_store_release