Performs a conditional atomic compare and exchange operation with
release semantics on a quadword. The quadword pointed to by source
is read and compared with the quadword old_value. If they are
equal, the quadword new_value is written into the quadword pointed
to by source. The read and write is performed atomically, with no
intervening access to the same memory region.
Release memory ordering guarantees that the memory read/write is
made visible after all previous data memory acceses to the same
memory location by other processors.
The function returns 1 if the write occurs, and 0 otherwise.
Syntax:
int __CMP_SWAP_QUAD_REL (volatile void *source, int old_value,
int new_value);