__store128, __store128_rel
Microsoft Specific
Stores a 128-bit value atomically.
void __store128(
__int64 volatile * Destination,
__int64 SourceHigh
__int64 SourceLow
);
void __store128_rel(
__int64 volatile * Destination,
__int64 SourceHigh
__int64 SourceLow
);
Parameters
- [in] Destination
Pointer to the 128-bit Destination value.
- [in] SourceHigh
The most significant 64 bits of the 128-bit value to be stored.
- [in] SourceLow
The least significant 64 bits of the 128-bit value to be stored.
Requirements
Function | Platforms |
---|---|
__store128 |
Itanium |
__store128_rel |
Itanium |
Header file <intrin.h>
Remarks
The __store128 function performs an atomic 128-bit store to the Destination memory location. The Destination pointer should point to a 16-byte aligned memory location.
These functions are not general-purpose 128-bit intrinsics. These functions should only be used if you really need 128-bit atomic stores. You get better performance with regular 64-bit operations.
Note that the intrinsic form of this function has a leading underscore in the name. Also note that these functions are always expanded as intrinsics. That means you can use /Oi (Generate Intrinsic Functions) or #pragma intrinsic, but it is not required.
The __store128_rel intrinsic function is the same as the corresponding function without the _rel suffix except that the operation is performed with release semantics.
In Visual C++ 2005, these functions behave as read-write barriers. For more information, see _ReadWriteBarrier.
END Microsoft Specific