Home | History | Annotate | Download | only in armv7
      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_mulshift
     25 
     26 ixheaacd_mps_mulshift:
     27 
     28     STMFD           sp!, {R4-R12}
     29     VPUSH           {d8 - d15}
     30 LOOP:
     31     VLD1.32         {Q0, Q1}, [R0]!     @LOADING values from R0
     32     VLD1.32         {Q2, Q3}, [R1]!     @LOADING values from R1
     33     VQDMULL.S32     Q4, D0, D4
     34     VQDMULL.S32     Q5, D2, D6
     35     VQDMULL.S32     Q6, D1, D5
     36     VQDMULL.S32     Q7, D3, D7
     37     VUZP.32         Q4, Q6
     38     VUZP.32         Q5, Q7
     39     VST1.32         {Q6, Q7}, [R2]!     @Storing values to R2
     40     SUBS            R3, R3, #8
     41     BGT             LOOP
     42 
     43     VPOP            {d8 - d15}
     44     LDMFD           sp!, {R4-R12}
     45     BX              LR
     46 
     47