__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.

These functions behave as read-write barriers. For more information, see _ReadWriteBarrier.

END Microsoft Specific

See Also

Reference

Compiler Intrinsics

__load128, __load128_acq