• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1@/******************************************************************************
2@ *
3@ * Copyright (C) 2018 The Android Open Source Project
4@ *
5@ * Licensed under the Apache License, Version 2.0 (the "License");
6@ * you may not use this file except in compliance with the License.
7@ * You may obtain a copy of the License at:
8@ *
9@ * http://www.apache.org/licenses/LICENSE-2.0
10@ *
11@ * Unless required by applicable law or agreed to in writing, software
12@ * distributed under the License is distributed on an "AS IS" BASIS,
13@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14@ * See the License for the specific language governing permissions and
15@ * limitations under the License.
16@ *
17@ *****************************************************************************
18@ * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19@*/
20
21
22.text
23.p2align 2
24        .global ixheaacd_mps_synt_pre_twiddle_armv7
25
26
27ixheaacd_mps_synt_pre_twiddle_armv7:
28
29    STMFD           sp!, {r4-r12, r14}
30    VPUSH           {D8-D15}
31    lsl             R3, R3, #1
32LOOP1:
33    VLD1.32         {D0}, [R2]!
34    VLD1.32         {D1}, [R1]!
35    VLD2.32         {D2, D3}, [R0]
36    VNEG.S32        D12, D2
37
38    VMULL.S32       Q2, D0, D12
39    VMULL.S32       Q3, D0, D3
40    VMULL.S32       Q4, D1, D2
41    VMULL.S32       Q5, D1, D3
42
43    VSHRN.I64       D4, Q2, #31
44    VSHRN.I64       D6, Q3, #31
45    VSHRN.I64       D8, Q4, #31
46    VSHRN.I64       D10, Q5, #31
47
48    VQADD.S32       D0, D8, D6
49    VQADD.S32       D1, D4, D10
50
51    SUBS            R3, R3, #4
52    VST2.32         {D0, D1} , [R0]!
53    BGT             LOOP1
54
55    VPOP            {D8-D15}
56    LDMFD           sp!, {r4-r12, r15}
57
58
59
60
61