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