1/// @file 2/// Contains an implementation of InterlockedCompareExchange32 on Itanium- 3/// based architecture. 4/// 5/// Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> 6/// This program and the accompanying materials 7/// are licensed and made available under the terms and conditions of the BSD License 8/// which accompanies this distribution. The full text of the license may be found at 9/// http://opensource.org/licenses/bsd-license.php. 10/// 11/// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12/// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13/// 14/// Module Name: InterlockedCompareExchange32.s 15/// 16/// 17 18.auto 19.text 20 21.proc InternalSyncCompareExchange32 22.type InternalSyncCompareExchange32, @function 23InternalSyncCompareExchange32:: 24 zxt4 r33 = r33 25 mov ar.ccv = r33 26 cmpxchg4.rel r8 = [r32], r34 27 mf 28 br.ret.sptk.many b0 29.endp InternalSyncCompareExchange32 30