1 /// @file 2 /// Contains an implementation of InterlockedCompareExchange64 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: InterlockedCompareExchange64.s 15 /// 16 /// 17 18 .auto 19 .text 20 21 .proc InternalSyncCompareExchange64 22 .type InternalSyncCompareExchange64, @function 23 InternalSyncCompareExchange64:: 24 mov ar.ccv = r33 25 cmpxchg8.rel r8 = [r32], r34 26 mf 27 br.ret.sptk.many b0 28 .endp InternalSyncCompareExchange64 29