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