Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

HLE Release _InterlockedCompareExchange Functions

Performs an atomic compare-and-exchange operation on the specified values and releases pending active HLE transaction. This intrinsic function applies to C/C++ applications for Windows only.

Syntax

long _InterlockedCompareExchange_HLERelease(long volatile *Destination, long Exchange, long Comparand);

__int64 _InterlockedCompareExchange64_HLERelease(__int64 volatile *Destination, __int64 Exchange, __int64 Comparand);

void * _InterlockedCompareExchangePointer_HLERelease(void * volatile *Destination, void * Exchange, void * Comparand);

Parameters

Destination [in, out]

pointer to the destination value

Exchange [in]

value which will be written at Destination if the comparison matches.

Comparand [in]

value to compare to the value referenced by Destination.

Description

Performs an atomic compare-and-exchange operation on the specified values and releases a pending HLE transaction (if one is active).

The function compares two specified values and replaces one of them with a third value if the compared values are equal.

Returns

Returns the initial value referenced by the Destination parameter.