]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / switch32.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(__switch32)\r
1e57a462 15 ldr ip, [lr, #-1]\r
16 cmp r0, ip\r
17 add r0, lr, r0, lsl #2\r
18 ldrcc r0, [r0, #3]\r
19 add ip, lr, ip, lsl #2\r
20 ldrcs r0, [ip, #3]\r
21 add ip, lr, r0\r
22 bx ip\r
23\r