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