]>
Commit | Line | Data |
---|---|---|
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 | 14 | ASM_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 |