1*15dc779aSAndroid Build Coastguard Worker@/****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker@ * 3*15dc779aSAndroid Build Coastguard Worker@ * Copyright (C) 2018 The Android Open Source Project 4*15dc779aSAndroid Build Coastguard Worker@ * 5*15dc779aSAndroid Build Coastguard Worker@ * Licensed under the Apache License, Version 2.0 (the "License"); 6*15dc779aSAndroid Build Coastguard Worker@ * you may not use this file except in compliance with the License. 7*15dc779aSAndroid Build Coastguard Worker@ * You may obtain a copy of the License at: 8*15dc779aSAndroid Build Coastguard Worker@ * 9*15dc779aSAndroid Build Coastguard Worker@ * http://www.apache.org/licenses/LICENSE-2.0 10*15dc779aSAndroid Build Coastguard Worker@ * 11*15dc779aSAndroid Build Coastguard Worker@ * Unless required by applicable law or agreed to in writing, software 12*15dc779aSAndroid Build Coastguard Worker@ * distributed under the License is distributed on an "AS IS" BASIS, 13*15dc779aSAndroid Build Coastguard Worker@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*15dc779aSAndroid Build Coastguard Worker@ * See the License for the specific language governing permissions and 15*15dc779aSAndroid Build Coastguard Worker@ * limitations under the License. 16*15dc779aSAndroid Build Coastguard Worker@ * 17*15dc779aSAndroid Build Coastguard Worker@ ***************************************************************************** 18*15dc779aSAndroid Build Coastguard Worker@ * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*15dc779aSAndroid Build Coastguard Worker@*/ 20*15dc779aSAndroid Build Coastguard Worker 21*15dc779aSAndroid Build Coastguard Worker 22*15dc779aSAndroid Build Coastguard Worker.text 23*15dc779aSAndroid Build Coastguard Worker.p2align 2 24*15dc779aSAndroid Build Coastguard Worker .global ixheaacd_fix_div_armv7 25*15dc779aSAndroid Build Coastguard Worker 26*15dc779aSAndroid Build Coastguard Workerixheaacd_fix_div_armv7: 27*15dc779aSAndroid Build Coastguard Worker EOR r12, r0, r1 28*15dc779aSAndroid Build Coastguard Worker 29*15dc779aSAndroid Build Coastguard Worker MOVS r3, r1, ASR #1 30*15dc779aSAndroid Build Coastguard Worker RSBMI r3, r3, #0 31*15dc779aSAndroid Build Coastguard Worker 32*15dc779aSAndroid Build Coastguard Worker MOVS r2, r0, ASR #1 33*15dc779aSAndroid Build Coastguard Worker RSBMI r2, r2, #0 34*15dc779aSAndroid Build Coastguard Worker 35*15dc779aSAndroid Build Coastguard Worker MOV r0, #0 36*15dc779aSAndroid Build Coastguard Worker BEQ L2 37*15dc779aSAndroid Build Coastguard Worker MOV r1, #0xf 38*15dc779aSAndroid Build Coastguard WorkerL1: 39*15dc779aSAndroid Build Coastguard Worker MOV r2, r2, LSL #1 40*15dc779aSAndroid Build Coastguard Worker CMP r2, r3 41*15dc779aSAndroid Build Coastguard Worker MOV r0, r0, LSL #1 42*15dc779aSAndroid Build Coastguard Worker ADDCS r0, r0, #1 43*15dc779aSAndroid Build Coastguard Worker SUBCS r2, r2, r3 44*15dc779aSAndroid Build Coastguard Worker SUBS r1, r1, #1 45*15dc779aSAndroid Build Coastguard Worker BGT L1 46*15dc779aSAndroid Build Coastguard WorkerL2: 47*15dc779aSAndroid Build Coastguard Worker CMP r12, #0 48*15dc779aSAndroid Build Coastguard Worker RSBLT r0, r0, #0 49*15dc779aSAndroid Build Coastguard Worker BX lr 50