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 20 GCC_ASM_EXPORT(__switch16) 21 22 ASM_PFX(__switch16): 23 ldrh ip, [lr, #-1] 24 cmp r0, ip 25 add r0, lr, r0, lsl #1 26 ldrshcc r0, [r0, #1] 27 add ip, lr, ip, lsl #1 28 ldrshcs r0, [ip, #1] 29 add ip, lr, r0, lsl #1 30 bx ip 31 32 33