Home | History | Annotate | Download | only in src_gcc
      1 /*
      2  * Copyright (C) 2007-2008 ARM Limited
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  *
     16  */
     17 /*
     18  *
     19  */
     20 
     21     .eabi_attribute 24, 1
     22     .eabi_attribute 25, 1
     23 
     24     .arm
     25     .fpu neon
     26     .text
     27 
     28     .global armVCM4P10_DeblockingLumabSLT4_unsafe
     29 armVCM4P10_DeblockingLumabSLT4_unsafe:
     30     VSUBL.U8 q11,d5,d9
     31     VLD1.8   {d18[]},[r5]!
     32     VSUBL.U8 q10,d8,d4
     33     VLD1.8   {d19[]},[r5]!
     34     VSHR.S16 q11,q11,#2
     35     VEXT.8   d18,d18,d19,#4
     36     VAND     d19,d17,d15
     37     VBIF     d18,d14,d16
     38     VRHADD.S16 q10,q11,q10
     39     VRHADD.U8 d24,d4,d8
     40     VADD.I8  d31,d18,d19
     41     VAND     d19,d12,d15
     42     VQADD.U8 d23,d5,d18
     43     VQMOVN.S16 d20,q10
     44     VADD.I8  d31,d31,d19
     45     VQSUB.U8 d22,d5,d18
     46     VQADD.U8 d19,d9,d18
     47     VHADD.U8 d26,d24,d6
     48     VMIN.S8  d20,d20,d31
     49     VNEG.S8  d31,d31
     50     VQSUB.U8 d21,d9,d18
     51     VHADD.U8 d27,d24,d10
     52     VMAX.U8  d30,d26,d22
     53     VMAX.S8  d20,d20,d31
     54     VMOVL.U8 q14,d4
     55     VMOVL.U8 q12,d8
     56     VADDW.S8 q14,q14,d20
     57     VSUBW.S8 q12,q12,d20
     58     VQMOVUN.S16 d29,q14
     59     VQMOVUN.S16 d24,q12
     60     VMAX.U8  d25,d27,d21
     61     VMIN.U8  d30,d30,d23
     62     VMIN.U8  d25,d25,d19
     63     VBIF     d29,d4,d16
     64     VBIF     d30,d5,d17
     65     VBIF     d24,d8,d16
     66     VBIF     d25,d9,d12
     67     BX       lr
     68 
     69     .global armVCM4P10_DeblockingLumabSGE4_unsafe
     70 armVCM4P10_DeblockingLumabSGE4_unsafe:
     71     VSHR.U8  d19,d0,#2
     72     VADD.I8  d19,d19,d15
     73     VADDL.U8 q10,d8,d4
     74     VADD.I8  d19,d19,d15
     75     VADDL.U8 q11,d6,d9
     76     VADDW.U8 q12,q10,d5
     77     VCGT.U8  d19,d19,d13
     78     VSHR.U16 q11,q11,#1
     79     VHADD.U16 q11,q12,q11
     80     VADDW.U8 q12,q12,d6
     81     VADDL.U8 q13,d7,d6
     82     VAND     d17,d17,d19
     83     VHADD.U8 d28,d4,d9
     84     VSRA.U16 q13,q12,#1
     85     VAND     d12,d12,d19
     86     VQRSHRN.U16 d29,q11,#1
     87     VRHADD.U8 d28,d28,d5
     88     VQRSHRN.U16 d30,q12,#2
     89     VADDL.U8 q11,d10,d5
     90     VADDW.U8 q12,q10,d9
     91     VBIF     d29,d28,d17
     92     VQRSHRN.U16 d31,q13,#2
     93     VADDL.U8 q13,d11,d10
     94     VSHR.U16 q11,q11,#1
     95     VHADD.U16 q11,q12,q11
     96     VADDW.U8 q12,q12,d10
     97     VHADD.U8 d28,d8,d5
     98     VBIF     d29,d4,d16
     99     VBIF     d30,d5,d17
    100     VSRA.U16 q13,q12,#1
    101     VQRSHRN.U16 d25,q12,#2
    102     VQRSHRN.U16 d24,q11,#1
    103     VRHADD.U8 d22,d28,d9
    104     VBIF     d25,d9,d12
    105     VBIF     d31,d6,d17
    106     VBIF     d24,d22,d12
    107     VQRSHRN.U16 d28,q13,#2
    108     VBIF     d24,d8,d16
    109     VBIF     d28,d10,d12
    110     BX       lr
    111 
    112     .end
    113 
    114