]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / switch16.S
CommitLineData
1e57a462 1#/** @file\r
2# Compiler intrinsic for ARM compiler\r
3#\r
4# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
4059386c 5# SPDX-License-Identifier: BSD-2-Clause-Patent\r
1e57a462 6#\r
7#**/\r
3402aac7 8#\r
1e57a462 9\r
903e3124 10#include <AsmMacroIoLib.h>\r
1e57a462 11\r
903e3124 12.syntax unified\r
1e57a462 13\r
903e3124 14ASM_FUNC(__switch16)\r
1e57a462 15 ldrh ip, [lr, #-1]\r
16 cmp r0, ip\r
17 add r0, lr, r0, lsl #1\r
1a0db791 18 ldrshcc r0, [r0, #1]\r
1e57a462 19 add ip, lr, ip, lsl #1\r
1a0db791 20 ldrshcs r0, [ip, #1]\r
1e57a462 21 add ip, lr, r0, lsl #1\r
22 bx ip\r
23\r
24\r