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(__switch32) 21 22ASM_PFX(__switch32): 23 ldr ip, [lr, #-1] 24 cmp r0, ip 25 add r0, lr, r0, lsl #2 26 ldrcc r0, [r0, #3] 27 add ip, lr, ip, lsl #2 28 ldrcs r0, [ip, #3] 29 add ip, lr, r0 30 bx ip 31 32