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_dct3_32 25*15dc779aSAndroid Build Coastguard Worker.type ixheaacd_dct3_32, %function 26*15dc779aSAndroid Build Coastguard Worker.extern ixheaacd_radix4bfly 27*15dc779aSAndroid Build Coastguard Worker.hidden ixheaacd_radix4bfly 28*15dc779aSAndroid Build Coastguard Worker.extern ixheaacd_postradixcompute4 29*15dc779aSAndroid Build Coastguard Worker.hidden ixheaacd_postradixcompute4 30*15dc779aSAndroid Build Coastguard Worker 31*15dc779aSAndroid Build Coastguard Workerixheaacd_dct3_32: 32*15dc779aSAndroid Build Coastguard Worker 33*15dc779aSAndroid Build Coastguard Worker 34*15dc779aSAndroid Build Coastguard Worker STMFD sp!, {R4-R12, R14} 35*15dc779aSAndroid Build Coastguard Worker VPUSH {D8 - D15} 36*15dc779aSAndroid Build Coastguard Worker ADD R6, R0, #196 37*15dc779aSAndroid Build Coastguard Worker SUB R7, R6, #8 38*15dc779aSAndroid Build Coastguard Worker ADD R10, R7, #4 39*15dc779aSAndroid Build Coastguard Worker MOV R9, #0 40*15dc779aSAndroid Build Coastguard Worker VDUP.32 D0, R9 41*15dc779aSAndroid Build Coastguard Worker ADD R4, R2, #8 42*15dc779aSAndroid Build Coastguard Worker MOV R8, R1 43*15dc779aSAndroid Build Coastguard Worker 44*15dc779aSAndroid Build Coastguard Worker VLD1.32 D0[0], [R10] 45*15dc779aSAndroid Build Coastguard Worker MOV R11, #-4 46*15dc779aSAndroid Build Coastguard Worker 47*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D0, D0, #7 48*15dc779aSAndroid Build Coastguard Worker VLD4.16 {D12, D13, D14, D15}, [R4]! 49*15dc779aSAndroid Build Coastguard Worker 50*15dc779aSAndroid Build Coastguard Worker MOV R12, #-16 51*15dc779aSAndroid Build Coastguard Worker VST1.32 D0, [R8]! 52*15dc779aSAndroid Build Coastguard Worker SUB R7, R7, #12 53*15dc779aSAndroid Build Coastguard Worker 54*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q0}, [R6]! 55*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q1}, [R7], R12 56*15dc779aSAndroid Build Coastguard Worker SUB R9, R6, #144 57*15dc779aSAndroid Build Coastguard Worker 58*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q1, Q1 59*15dc779aSAndroid Build Coastguard Worker SUB R5, R7, #112 60*15dc779aSAndroid Build Coastguard Worker 61*15dc779aSAndroid Build Coastguard Worker VSWP D2, D3 62*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q0, Q0, #7 63*15dc779aSAndroid Build Coastguard Worker 64*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q1, Q1, #7 65*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q3}, [R9]! 66*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q2, Q1, Q0 67*15dc779aSAndroid Build Coastguard Worker 68*15dc779aSAndroid Build Coastguard Worker VUZP.16 D4, D5 69*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q3, Q3, #7 70*15dc779aSAndroid Build Coastguard Worker 71*15dc779aSAndroid Build Coastguard Worker 72*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q4}, [R5], R12 73*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D4, D12 74*15dc779aSAndroid Build Coastguard Worker 75*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q4, Q4 76*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D4, D13 77*15dc779aSAndroid Build Coastguard Worker 78*15dc779aSAndroid Build Coastguard Worker VSWP D8, D9 79*15dc779aSAndroid Build Coastguard Worker 80*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q4, Q4, #7 81*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q0}, [R6]! 82*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q5, Q3, Q4 83*15dc779aSAndroid Build Coastguard Worker 84*15dc779aSAndroid Build Coastguard Worker VUZP.16 D10, D11 85*15dc779aSAndroid Build Coastguard Worker 86*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D10, D13 87*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q1}, [R7], R12 88*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D10, D12 89*15dc779aSAndroid Build Coastguard Worker 90*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q1, Q1 91*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q0, Q0, #7 92*15dc779aSAndroid Build Coastguard Worker 93*15dc779aSAndroid Build Coastguard Worker VSWP D2, D3 94*15dc779aSAndroid Build Coastguard Worker 95*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 96*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q1, Q1, #7 97*15dc779aSAndroid Build Coastguard Worker 98*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D5, D12 99*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D11, D13 100*15dc779aSAndroid Build Coastguard Worker 101*15dc779aSAndroid Build Coastguard Worker 102*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 103*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D5, D13 104*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q2, Q1, Q0 105*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D11, D12 106*15dc779aSAndroid Build Coastguard Worker 107*15dc779aSAndroid Build Coastguard Worker VUZP.16 D4, D5 108*15dc779aSAndroid Build Coastguard Worker SUB R9, R6, #144 109*15dc779aSAndroid Build Coastguard Worker 110*15dc779aSAndroid Build Coastguard Worker VSWP Q15, Q14 111*15dc779aSAndroid Build Coastguard Worker SUB R5, R7, #112 112*15dc779aSAndroid Build Coastguard Worker 113*15dc779aSAndroid Build Coastguard Worker VST2.32 {Q14, Q15}, [R8]! 114*15dc779aSAndroid Build Coastguard Worker 115*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q3}, [R9]! 116*15dc779aSAndroid Build Coastguard Worker 117*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q4}, [R5], R12 118*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q3, Q3, #7 119*15dc779aSAndroid Build Coastguard Worker 120*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q4, Q4 121*15dc779aSAndroid Build Coastguard Worker 122*15dc779aSAndroid Build Coastguard Worker VSWP D8, D9 123*15dc779aSAndroid Build Coastguard Worker 124*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q4, Q4, #7 125*15dc779aSAndroid Build Coastguard Worker VLD4.16 {D12, D13, D14, D15}, [R4]! 126*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q5, Q3, Q4 127*15dc779aSAndroid Build Coastguard Worker 128*15dc779aSAndroid Build Coastguard Worker VUZP.16 D10, D11 129*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D4, D12 130*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D10, D13 131*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D4, D13 132*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q0}, [R6]! 133*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D10, D12 134*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q1}, [R7], R11 135*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 136*15dc779aSAndroid Build Coastguard Worker 137*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q1, Q1 138*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 139*15dc779aSAndroid Build Coastguard Worker 140*15dc779aSAndroid Build Coastguard Worker VSWP D2, D3 141*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q0, Q0, #7 142*15dc779aSAndroid Build Coastguard Worker 143*15dc779aSAndroid Build Coastguard Worker SUB R9, R6, #144 144*15dc779aSAndroid Build Coastguard Worker 145*15dc779aSAndroid Build Coastguard Worker SUB R5, R7, #124 146*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q3}, [R9]! 147*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D5, D13 148*15dc779aSAndroid Build Coastguard Worker 149*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D11, D12 150*15dc779aSAndroid Build Coastguard Worker VLD1.32 {Q4}, [R5], R11 151*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D5, D12 152*15dc779aSAndroid Build Coastguard Worker 153*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q4, Q4 154*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D11, D13 155*15dc779aSAndroid Build Coastguard Worker 156*15dc779aSAndroid Build Coastguard Worker VSWP D8, D9 157*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q1, Q1, #7 158*15dc779aSAndroid Build Coastguard Worker 159*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q2, Q1, Q0 160*15dc779aSAndroid Build Coastguard Worker VLD4.16 {D12, D13, D14, D15}, [R4]! 161*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q3, Q3, #7 162*15dc779aSAndroid Build Coastguard Worker 163*15dc779aSAndroid Build Coastguard Worker VUZP.16 D4, D5 164*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q4, Q4, #7 165*15dc779aSAndroid Build Coastguard Worker 166*15dc779aSAndroid Build Coastguard Worker VSWP Q15, Q14 167*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q5, Q3, Q4 168*15dc779aSAndroid Build Coastguard Worker 169*15dc779aSAndroid Build Coastguard Worker VST2.32 {Q14, Q15}, [R8]! 170*15dc779aSAndroid Build Coastguard Worker 171*15dc779aSAndroid Build Coastguard Worker VUZP.16 D10, D11 172*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D4, D12 173*15dc779aSAndroid Build Coastguard Worker 174*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D10, D13 175*15dc779aSAndroid Build Coastguard Worker VLD1.32 D0, [R6]! 176*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D4, D13 177*15dc779aSAndroid Build Coastguard Worker 178*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D10, D12 179*15dc779aSAndroid Build Coastguard Worker VLD1.32 D1[0], [R6]! 180*15dc779aSAndroid Build Coastguard Worker 181*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 182*15dc779aSAndroid Build Coastguard Worker VLD1.32 D2[0], [R7], R11 183*15dc779aSAndroid Build Coastguard Worker 184*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D5, D12 185*15dc779aSAndroid Build Coastguard Worker VLD1.32 D2[1], [R7], R11 186*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D11, D13 187*15dc779aSAndroid Build Coastguard Worker 188*15dc779aSAndroid Build Coastguard Worker SUB R9, R6, #140 189*15dc779aSAndroid Build Coastguard Worker VLD1.32 D3[0], [R7], R11 190*15dc779aSAndroid Build Coastguard Worker 191*15dc779aSAndroid Build Coastguard Worker SUB R5, R7, #116 192*15dc779aSAndroid Build Coastguard Worker VLD1.32 D6, [R9]! 193*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 194*15dc779aSAndroid Build Coastguard Worker 195*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q0, Q0, #7 196*15dc779aSAndroid Build Coastguard Worker VLD1.32 D7[0], [R9]! 197*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D5, D13 198*15dc779aSAndroid Build Coastguard Worker 199*15dc779aSAndroid Build Coastguard Worker VLD1.32 D8[0], [R5], R11 200*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D11, D12 201*15dc779aSAndroid Build Coastguard Worker 202*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q1, Q1, #7 203*15dc779aSAndroid Build Coastguard Worker VLD4.16 {D12, D13, D14, D15}, [R4] 204*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q2, Q1, Q0 205*15dc779aSAndroid Build Coastguard Worker 206*15dc779aSAndroid Build Coastguard Worker VLD1.32 D8[1], [R5], R11 207*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q3, Q3, #7 208*15dc779aSAndroid Build Coastguard Worker 209*15dc779aSAndroid Build Coastguard Worker VSWP Q15, Q14 210*15dc779aSAndroid Build Coastguard Worker 211*15dc779aSAndroid Build Coastguard Worker VLD1.32 D9[0], [R5], R11 212*15dc779aSAndroid Build Coastguard Worker 213*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q4, Q4, #7 214*15dc779aSAndroid Build Coastguard Worker VST2.32 {Q14, Q15}, [R8]! 215*15dc779aSAndroid Build Coastguard Worker ADD R4, #24 216*15dc779aSAndroid Build Coastguard Worker 217*15dc779aSAndroid Build Coastguard Worker VUZP.16 D4, D5 218*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q5, Q3, Q4 219*15dc779aSAndroid Build Coastguard Worker 220*15dc779aSAndroid Build Coastguard Worker VUZP.16 D10, D11 221*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D4, D12 222*15dc779aSAndroid Build Coastguard Worker 223*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D10, D13 224*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D4, D13 225*15dc779aSAndroid Build Coastguard Worker 226*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D10, D12 227*15dc779aSAndroid Build Coastguard Worker VLD1.16 D0[0], [R4]! 228*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 229*15dc779aSAndroid Build Coastguard Worker 230*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 231*15dc779aSAndroid Build Coastguard Worker VLD1.32 D2[0], [R7], R11 232*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D5, D12 233*15dc779aSAndroid Build Coastguard Worker 234*15dc779aSAndroid Build Coastguard Worker SUB R5, R7, #124 235*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D11, D13 236*15dc779aSAndroid Build Coastguard Worker VLD1.32 D4[0], [R5] 237*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D5, D13 238*15dc779aSAndroid Build Coastguard Worker 239*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D11, D12 240*15dc779aSAndroid Build Coastguard Worker 241*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D2, D2, #7 242*15dc779aSAndroid Build Coastguard Worker VST1.32 D30[0], [R8]! 243*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D4, D4, #7 244*15dc779aSAndroid Build Coastguard Worker VSUB.I32 D2, D2, D4 245*15dc779aSAndroid Build Coastguard Worker 246*15dc779aSAndroid Build Coastguard Worker VMOV D4, D2 247*15dc779aSAndroid Build Coastguard Worker VST1.32 D28[0], [R8]! 248*15dc779aSAndroid Build Coastguard Worker MOV R6, R1 249*15dc779aSAndroid Build Coastguard Worker 250*15dc779aSAndroid Build Coastguard Worker ADD R7, R1, #124 251*15dc779aSAndroid Build Coastguard Worker VST1.32 D30[1], [R8]! 252*15dc779aSAndroid Build Coastguard Worker ADD R10, R3, #16 253*15dc779aSAndroid Build Coastguard Worker 254*15dc779aSAndroid Build Coastguard Worker SUB R7, R7, #28 255*15dc779aSAndroid Build Coastguard Worker VST1.32 D28[1], [R8]! 256*15dc779aSAndroid Build Coastguard Worker MOV R5, #-16 257*15dc779aSAndroid Build Coastguard Worker 258*15dc779aSAndroid Build Coastguard Worker MOV R9, #-4 259*15dc779aSAndroid Build Coastguard Worker VST1.32 D31[0], [R8]! 260*15dc779aSAndroid Build Coastguard Worker MOV R11, #16 261*15dc779aSAndroid Build Coastguard Worker 262*15dc779aSAndroid Build Coastguard Worker VST1.32 D29[0], [R8]! 263*15dc779aSAndroid Build Coastguard Worker MOV R12, #4 264*15dc779aSAndroid Build Coastguard Worker 265*15dc779aSAndroid Build Coastguard Worker VUZP.16 D4, D5 266*15dc779aSAndroid Build Coastguard Worker MOV R8, #6 267*15dc779aSAndroid Build Coastguard Worker 268*15dc779aSAndroid Build Coastguard Worker VLD1.16 D1[0], [R4], R8 269*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D4, D0 270*15dc779aSAndroid Build Coastguard Worker 271*15dc779aSAndroid Build Coastguard Worker 272*15dc779aSAndroid Build Coastguard Worker VUZP.16 D2, D3 273*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D4, D1 274*15dc779aSAndroid Build Coastguard Worker 275*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D2, D1 276*15dc779aSAndroid Build Coastguard Worker VLD2.32 {D10, D11}, [R6] 277*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D2, D0 278*15dc779aSAndroid Build Coastguard Worker 279*15dc779aSAndroid Build Coastguard Worker ADD R4, R3, #4 280*15dc779aSAndroid Build Coastguard Worker MOV R8, #-32 281*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 282*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 283*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D5, D0 284*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D3, D1 285*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D5, D1 286*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D3, D0 287*15dc779aSAndroid Build Coastguard Worker 288*15dc779aSAndroid Build Coastguard Worker VADD.I32 D14, D11, D28 289*15dc779aSAndroid Build Coastguard Worker VLD2.32 {Q2, Q3}, [R7] 290*15dc779aSAndroid Build Coastguard Worker VNEG.S32 D14, D14 291*15dc779aSAndroid Build Coastguard Worker 292*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q2, Q2 293*15dc779aSAndroid Build Coastguard Worker VSUB.I32 D12, D10, D30 294*15dc779aSAndroid Build Coastguard Worker 295*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q3, Q3 296*15dc779aSAndroid Build Coastguard Worker VADD.I32 D10, D10, D30 297*15dc779aSAndroid Build Coastguard Worker 298*15dc779aSAndroid Build Coastguard Worker VSWP D4, D5 299*15dc779aSAndroid Build Coastguard Worker VADD.I32 D10, D10, D14 300*15dc779aSAndroid Build Coastguard Worker 301*15dc779aSAndroid Build Coastguard Worker VSWP D6, D7 302*15dc779aSAndroid Build Coastguard Worker VSUB.I32 D11, D11, D28 303*15dc779aSAndroid Build Coastguard Worker 304*15dc779aSAndroid Build Coastguard Worker VADD.I32 D11, D11, D12 305*15dc779aSAndroid Build Coastguard Worker VLD2.16 {D8, D9}, [R10], R5 306*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D10, D10, #1 307*15dc779aSAndroid Build Coastguard Worker 308*15dc779aSAndroid Build Coastguard Worker VREV64.16 D8, D8 309*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D11, D11, #1 310*15dc779aSAndroid Build Coastguard Worker 311*15dc779aSAndroid Build Coastguard Worker VUZP.32 D10, D11 312*15dc779aSAndroid Build Coastguard Worker 313*15dc779aSAndroid Build Coastguard Worker VST1.32 D10, [R6]! 314*15dc779aSAndroid Build Coastguard Worker VLD2.32 {Q0, Q1}, [R6] 315*15dc779aSAndroid Build Coastguard Worker 316*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q7, Q0, Q2 317*15dc779aSAndroid Build Coastguard Worker VLD2.16 {D10, D11}, [R4], R11 318*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q6, Q0, Q2 319*15dc779aSAndroid Build Coastguard Worker 320*15dc779aSAndroid Build Coastguard Worker VUZP.16 D12, D13 321*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q8, Q1, Q3 322*15dc779aSAndroid Build Coastguard Worker 323*15dc779aSAndroid Build Coastguard Worker VUZP.16 D16, D17 324*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q9, Q1, Q3 325*15dc779aSAndroid Build Coastguard Worker 326*15dc779aSAndroid Build Coastguard Worker 327*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D12, D8 328*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D16, D10 329*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D12, D10 330*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D16, D8 331*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q7, Q7, #1 332*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 333*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q9, Q9, #1 334*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 335*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D13, D8 336*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D17, D10 337*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D13, D10 338*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D17, D8 339*15dc779aSAndroid Build Coastguard Worker 340*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q10, Q7, Q15 341*15dc779aSAndroid Build Coastguard Worker VLD2.16 {D8, D9}, [R10] 342*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q13, Q7, Q15 343*15dc779aSAndroid Build Coastguard Worker 344*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q13, Q13 345*15dc779aSAndroid Build Coastguard Worker VSWP D26, D27 346*15dc779aSAndroid Build Coastguard Worker 347*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q11, Q9, Q14 348*15dc779aSAndroid Build Coastguard Worker VREV64.16 D8, D8 349*15dc779aSAndroid Build Coastguard Worker 350*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q12, Q14, Q9 351*15dc779aSAndroid Build Coastguard Worker 352*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q12, Q12 353*15dc779aSAndroid Build Coastguard Worker 354*15dc779aSAndroid Build Coastguard Worker VST2.32 {Q10, Q11}, [R6]! 355*15dc779aSAndroid Build Coastguard Worker VSWP D24, D25 356*15dc779aSAndroid Build Coastguard Worker VSWP Q12, Q13 357*15dc779aSAndroid Build Coastguard Worker VST2.32 {Q12, Q13}, [R7], R8 358*15dc779aSAndroid Build Coastguard Worker 359*15dc779aSAndroid Build Coastguard Worker VLD2.32 {Q0, Q1}, [R6] 360*15dc779aSAndroid Build Coastguard Worker VLD2.32 {Q2, Q3}, [R7] 361*15dc779aSAndroid Build Coastguard Worker 362*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q2, Q2 363*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q3, Q3 364*15dc779aSAndroid Build Coastguard Worker 365*15dc779aSAndroid Build Coastguard Worker VSWP D4, D5 366*15dc779aSAndroid Build Coastguard Worker VSWP D6, D7 367*15dc779aSAndroid Build Coastguard Worker 368*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q6, Q0, Q2 369*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q7, Q0, Q2 370*15dc779aSAndroid Build Coastguard Worker VLD2.16 {D10, D11}, [R4], R11 371*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q8, Q1, Q3 372*15dc779aSAndroid Build Coastguard Worker 373*15dc779aSAndroid Build Coastguard Worker VUZP.16 D12, D13 374*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q9, Q1, Q3 375*15dc779aSAndroid Build Coastguard Worker 376*15dc779aSAndroid Build Coastguard Worker 377*15dc779aSAndroid Build Coastguard Worker VUZP.16 D16, D17 378*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D12, D8 379*15dc779aSAndroid Build Coastguard Worker 380*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D16, D10 381*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D12, D10 382*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D16, D8 383*15dc779aSAndroid Build Coastguard Worker ADD R7, R7, #8 384*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 385*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q7, Q7, #1 386*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 387*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D13, D8 388*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D17, D10 389*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D13, D10 390*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D17, D8 391*15dc779aSAndroid Build Coastguard Worker 392*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q9, Q9, #1 393*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q10, Q7, Q15 394*15dc779aSAndroid Build Coastguard Worker VSUB.I32 Q12, Q14, Q9 395*15dc779aSAndroid Build Coastguard Worker 396*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q11, Q9, Q14 397*15dc779aSAndroid Build Coastguard Worker VST1.32 D20[0], [R6]! 398*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q13, Q7, Q15 399*15dc779aSAndroid Build Coastguard Worker 400*15dc779aSAndroid Build Coastguard Worker 401*15dc779aSAndroid Build Coastguard Worker VST1.32 D22[0], [R6]! 402*15dc779aSAndroid Build Coastguard Worker VST1.32 D20[1], [R6]! 403*15dc779aSAndroid Build Coastguard Worker VST1.32 D22[1], [R6]! 404*15dc779aSAndroid Build Coastguard Worker VST1.32 D21[0], [R6]! 405*15dc779aSAndroid Build Coastguard Worker VST1.32 D23[0], [R6]! 406*15dc779aSAndroid Build Coastguard Worker 407*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q12, Q12 408*15dc779aSAndroid Build Coastguard Worker 409*15dc779aSAndroid Build Coastguard Worker VREV64.32 Q13, Q13 410*15dc779aSAndroid Build Coastguard Worker VSWP D24, D25 411*15dc779aSAndroid Build Coastguard Worker VSWP D26, D27 412*15dc779aSAndroid Build Coastguard Worker 413*15dc779aSAndroid Build Coastguard Worker 414*15dc779aSAndroid Build Coastguard Worker VST1.32 D26[1], [R7]! 415*15dc779aSAndroid Build Coastguard Worker VST1.32 D24[1], [R7]! 416*15dc779aSAndroid Build Coastguard Worker VST1.32 D27[0], [R7]! 417*15dc779aSAndroid Build Coastguard Worker VST1.32 D25[0], [R7]! 418*15dc779aSAndroid Build Coastguard Worker VST1.32 D27[1], [R7]! 419*15dc779aSAndroid Build Coastguard Worker VST1.32 D25[1], [R7]! 420*15dc779aSAndroid Build Coastguard Worker 421*15dc779aSAndroid Build Coastguard Worker SUB R7, R7, #32 422*15dc779aSAndroid Build Coastguard Worker VLD2.32 {D0, D1}, [R6] 423*15dc779aSAndroid Build Coastguard Worker VLD2.32 {D2, D3}, [R7] 424*15dc779aSAndroid Build Coastguard Worker 425*15dc779aSAndroid Build Coastguard Worker VSUB.I32 D12, D0, D2 426*15dc779aSAndroid Build Coastguard Worker VLD1.16 D8, [R10], R9 427*15dc779aSAndroid Build Coastguard Worker VADD.I32 D14, D0, D2 428*15dc779aSAndroid Build Coastguard Worker 429*15dc779aSAndroid Build Coastguard Worker VADD.I32 D16, D1, D3 430*15dc779aSAndroid Build Coastguard Worker VLD1.16 D10, [R4], R12 431*15dc779aSAndroid Build Coastguard Worker VSUB.I32 D18, D1, D3 432*15dc779aSAndroid Build Coastguard Worker 433*15dc779aSAndroid Build Coastguard Worker VUZP.16 D12, D13 434*15dc779aSAndroid Build Coastguard Worker MOV R4, R0 435*15dc779aSAndroid Build Coastguard Worker 436*15dc779aSAndroid Build Coastguard Worker VUZP.16 D16, D17 437*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q15, D12, D8 438*15dc779aSAndroid Build Coastguard Worker VMLAL.U16 Q15, D16, D10 439*15dc779aSAndroid Build Coastguard Worker VMULL.U16 Q14, D12, D10 440*15dc779aSAndroid Build Coastguard Worker VMLSL.U16 Q14, D16, D8 441*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D18, D18, #1 442*15dc779aSAndroid Build Coastguard Worker VSHR.U32 Q15, Q15, #16 443*15dc779aSAndroid Build Coastguard Worker VSHR.S32 Q14, Q14, #16 444*15dc779aSAndroid Build Coastguard Worker 445*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D13, D8 446*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q15, D17, D10 447*15dc779aSAndroid Build Coastguard Worker 448*15dc779aSAndroid Build Coastguard Worker MOV R10, R1 449*15dc779aSAndroid Build Coastguard Worker 450*15dc779aSAndroid Build Coastguard Worker VMLAL.S16 Q14, D13, D10 451*15dc779aSAndroid Build Coastguard Worker VMLSL.S16 Q14, D17, D8 452*15dc779aSAndroid Build Coastguard Worker VNEG.S32 Q15, Q15 453*15dc779aSAndroid Build Coastguard Worker VSHR.S32 D14, D14, #1 454*15dc779aSAndroid Build Coastguard Worker 455*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q13, Q7, Q15 456*15dc779aSAndroid Build Coastguard Worker 457*15dc779aSAndroid Build Coastguard Worker VADD.I32 Q11, Q9, Q14 458*15dc779aSAndroid Build Coastguard Worker 459*15dc779aSAndroid Build Coastguard Worker LDR r0 , [sp , #104] 460*15dc779aSAndroid Build Coastguard Worker VST1.32 D26[0], [R6]! 461*15dc779aSAndroid Build Coastguard Worker MOV r2, #1 462*15dc779aSAndroid Build Coastguard Worker 463*15dc779aSAndroid Build Coastguard Worker VST1.32 D22[0], [R6]! 464*15dc779aSAndroid Build Coastguard Worker MOV r3, #4 465*15dc779aSAndroid Build Coastguard Worker BL ixheaacd_radix4bfly 466*15dc779aSAndroid Build Coastguard Worker 467*15dc779aSAndroid Build Coastguard Worker MOV r0, r4 468*15dc779aSAndroid Build Coastguard Worker MOV r1, r10 469*15dc779aSAndroid Build Coastguard Worker LDR r2 , [sp , #108] 470*15dc779aSAndroid Build Coastguard Worker MOV r3, #16 471*15dc779aSAndroid Build Coastguard Worker BL ixheaacd_postradixcompute4 472*15dc779aSAndroid Build Coastguard Worker 473*15dc779aSAndroid Build Coastguard Worker MOV r0, r4 474*15dc779aSAndroid Build Coastguard Worker MOV r1, r10 475*15dc779aSAndroid Build Coastguard Worker LDMIA r0!, {r4, r5} 476*15dc779aSAndroid Build Coastguard Worker STR r4, [r1], #4 477*15dc779aSAndroid Build Coastguard Worker STR r5, [r1, #4] 478*15dc779aSAndroid Build Coastguard Worker ADD r2, r0, #64 479*15dc779aSAndroid Build Coastguard Worker ADD r3, r1, #116 480*15dc779aSAndroid Build Coastguard Worker MOV r6, #7 481*15dc779aSAndroid Build Coastguard Worker 482*15dc779aSAndroid Build Coastguard WorkerBACK3: 483*15dc779aSAndroid Build Coastguard Worker 484*15dc779aSAndroid Build Coastguard Worker LDMIA r0!, {r4, r5} 485*15dc779aSAndroid Build Coastguard Worker STR r5, [r1], #8 486*15dc779aSAndroid Build Coastguard Worker STR r4, [r1], #8 487*15dc779aSAndroid Build Coastguard Worker 488*15dc779aSAndroid Build Coastguard Worker LDMIA r2!, {r4, r5} 489*15dc779aSAndroid Build Coastguard Worker STR r5, [r3], #-8 490*15dc779aSAndroid Build Coastguard Worker STR r4, [r3], #-8 491*15dc779aSAndroid Build Coastguard Worker 492*15dc779aSAndroid Build Coastguard Worker SUBS r6, r6, #1 493*15dc779aSAndroid Build Coastguard Worker BNE BACK3 494*15dc779aSAndroid Build Coastguard Worker 495*15dc779aSAndroid Build Coastguard Worker LDMIA r0!, {r4, r5} 496*15dc779aSAndroid Build Coastguard Worker STR r5, [r1], #8 497*15dc779aSAndroid Build Coastguard Worker STR r4, [r1], #8 498*15dc779aSAndroid Build Coastguard Worker 499*15dc779aSAndroid Build Coastguard Worker VPOP {D8 - D15} 500*15dc779aSAndroid Build Coastguard Worker LDMFD sp!, {r4-r12, r15} 501*15dc779aSAndroid Build Coastguard Worker 502*15dc779aSAndroid Build Coastguard Worker 503*15dc779aSAndroid Build Coastguard Worker 504*15dc779aSAndroid Build Coastguard Worker 505*15dc779aSAndroid Build Coastguard Worker 506*15dc779aSAndroid Build Coastguard Worker 507*15dc779aSAndroid Build Coastguard Worker 508