This intrinsic inserts an
into the instruction stream generated by the compiler. It enables
you to use an
STREXD instruction in your C or C++ code
to store data to memory. It supports exclusive stores of doubleword
data to memory.
int __strexd(unsigned long long
val, volatile void *
is the value to be written to memory.
points to the address of the data to be written to in memory. To specify the size of the data to be written, cast the parameter to an appropriate integral type.
Table 19. Access widths supported by the
Instruction Size of data stored C cast
unsigned long long
(unsigned long long
signed long long
(signed long long
The compiler does not recognize the
when compiling for a target that does not support the
The compiler generates either a warning or an error in this case.
__strexd intrinsic only supports
access to doubleword data. The compiler generates an error if you
specify an access width that is not supported.