1#------------------------------------------------------------------------------ 2# 3# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR> 4# 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 .text 16 .align 2 17 GCC_ASM_EXPORT(__clzsi2) 18 19ASM_PFX(__clzsi2): 20 @ frame_needed = 1, uses_anonymous_args = 0 21 stmfd sp!, {r7, lr} 22 add r7, sp, #0 23 movs r3, r0, lsr #16 24 movne r3, #16 25 moveq r3, #0 26 movne r9, #0 27 moveq r9, #16 28 mov r3, r0, lsr r3 29 tst r3, #65280 30 movne r0, #8 31 moveq r0, #0 32 movne lr, #0 33 moveq lr, #8 34 mov r3, r3, lsr r0 35 tst r3, #240 36 movne r0, #4 37 moveq r0, #0 38 movne ip, #0 39 moveq ip, #4 40 mov r3, r3, lsr r0 41 tst r3, #12 42 movne r0, #2 43 moveq r0, #0 44 movne r1, #0 45 moveq r1, #2 46 mov r2, r3, lsr r0 47 add r3, lr, r9 48 add r0, r3, ip 49 add r1, r0, r1 50 mov r0, r2, lsr #1 51 eor r0, r0, #1 52 ands r0, r0, #1 53 mvnne r0, #0 54 rsb r3, r2, #2 55 and r0, r0, r3 56 add r0, r1, r0 57 ldmfd sp!, {r7, pc} 58