Load and Store Intrinsics

You can use the load and store intrinsic to force strict memory access ordering of specific data objects. This intended use is for cases when a user suppresses strict memory access ordering by using the -serialize-volatile- option.

Intrinsic Prototype

Description

void __st1_rel(void *dst, const char value);

Generates an st1.rel instruction.

void __st2_rel(void *dst, const short value);

Generates an st2.rel instruction.

void __st4_rel(void *dst, const int value);

Generates an st4.rel instruction.

void __st8_rel(void *dst, const __int64 value);

Generates an st8.rel instruction.

unsigned char __ld1_acq(void *src);

Generates an ld1.acq instruction.

unsigned short __ld2_acq(void *src);

Generates an ld2.acq instruction.

unsigned int __ld4_acq(void *src);

Generates an ld4.acq instruction.

unsigned __int64 __ld8_acq(void *src);

Generates an ld8.acq instruction.