1#/** @file
2#  Compiler intrinsic for ARM compiler
3#
4#  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
5#  This program and the accompanying materials
6#  are licensed and made available under the terms and conditions of the BSD License
7#  which accompanies this distribution.  The full text of the license may be found at
8#  http)://opensource.org/licenses/bsd-license.php
9#
10#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.;
12#
13#**/
14#
15
16.text
17.syntax unified
18.p2align 2
19
20GCC_ASM_EXPORT(__switchu8)
21
22
23ASM_PFX(__switchu8):
24    ldrb      ip,[lr,#-1]
25    cmp       r0,ip
26    ldrbcc    r0,[lr,r0]
27    ldrbcs    r0,[lr,ip]
28    add       ip,lr,r0,LSL #1
29    bx        ip
30
31