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 23 InternalSyncCompareExchange32:: 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