Home | History | Annotate | Download | only in src_gcc
      1 /*
      2  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
      3  *
      4  */
      5 
      6     .eabi_attribute 24, 1
      7     .eabi_attribute 25, 1
      8 
      9     .arm
     10     .fpu neon
     11     .text
     12 
     13     .global armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe
     14     .func   armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe
     15 armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe:
     16     PUSH     {r4-r12,lr}
     17     VLD1.8   {d0,d1},[r0],r1
     18     ADD      r12,r0,r1,LSL #2
     19     VMOV.I8  d30,#0x5
     20     VMOV.I8  d31,#0x14
     21     VLD1.8   {d10,d11},[r12],r1
     22     VLD1.8   {d2,d3},[r0],r1
     23     VLD1.8   {d12,d13},[r12],r1
     24     VADDL.U8 q9,d0,d10
     25     VLD1.8   {d4,d5},[r0],r1
     26     VADDL.U8 q0,d1,d11
     27     VLD1.8   {d6,d7},[r0],r1
     28     VADDL.U8 q10,d2,d12
     29     VLD1.8   {d8,d9},[r0],r1
     30     VMLAL.U8 q9,d4,d31
     31     VLD1.8   {d14,d15},[r12],r1
     32     VMLAL.U8 q0,d5,d31
     33     VLD1.8   {d16,d17},[r12],r1
     34     VMLAL.U8 q9,d6,d31
     35     VMLAL.U8 q10,d6,d31
     36     VMLSL.U8 q0,d3,d30
     37     VADDL.U8 q11,d4,d14
     38     VMLSL.U8 q9,d2,d30
     39     VADDL.U8 q1,d3,d13
     40     VMLAL.U8 q0,d7,d31
     41     VMLAL.U8 q10,d8,d31
     42     VMLSL.U8 q9,d8,d30
     43     VMLAL.U8 q1,d7,d31
     44     VMLSL.U8 q0,d9,d30
     45     VMLAL.U8 q11,d8,d31
     46     VMLSL.U8 q10,d4,d30
     47     VMLSL.U8 q1,d5,d30
     48     VADDL.U8 q2,d5,d15
     49     VMLAL.U8 q11,d10,d31
     50     VMLSL.U8 q10,d10,d30
     51     VMLAL.U8 q1,d9,d31
     52     VMLAL.U8 q2,d9,d31
     53     VADDL.U8 q12,d6,d16
     54     VMLSL.U8 q11,d6,d30
     55     VMLSL.U8 q1,d11,d30
     56     VMLSL.U8 q2,d7,d30
     57     VADDL.U8 q3,d7,d17
     58     VMLAL.U8 q12,d10,d31
     59     VMLSL.U8 q11,d12,d30
     60     VMLSL.U8 q2,d13,d30
     61     VMLAL.U8 q3,d11,d31
     62     VMLAL.U8 q12,d12,d31
     63     VEXT.8   d26,d18,d19,#2
     64     VMLAL.U8 q2,d11,d31
     65     VMLAL.U8 q3,d13,d31
     66     VMLSL.U8 q12,d8,d30
     67     VEXT.8   d27,d18,d19,#4
     68     VMOV.I16 d31,#0x14
     69     VMLSL.U8 q3,d9,d30
     70     VMLSL.U8 q12,d14,d30
     71     VEXT.8   d29,d19,d0,#2
     72     VEXT.8   d28,d18,d19,#6
     73     VMLSL.U8 q3,d15,d30
     74     VADDL.S16 q0,d18,d29
     75     VADD.I16 d27,d27,d28
     76     VMOV.I16 d30,#0x5
     77     VADD.I16 d26,d26,d19
     78     VMLAL.S16 q0,d27,d31
     79     VEXT.8   d27,d20,d21,#4
     80     VEXT.8   d28,d20,d21,#6
     81     VEXT.8   d29,d21,d2,#2
     82     VMLSL.S16 q0,d26,d30
     83     VEXT.8   d26,d20,d21,#2
     84     VADDL.S16 q1,d20,d29
     85     VADD.I16 d27,d27,d28
     86     VADD.I16 d26,d26,d21
     87     VEXT.8   d28,d22,d23,#6
     88     VMLAL.S16 q1,d27,d31
     89     VEXT.8   d29,d23,d4,#2
     90     VEXT.8   d27,d22,d23,#4
     91     VEXT.8   d8,d22,d23,#2
     92     VADDL.S16 q2,d22,d29
     93     VMLSL.S16 q1,d26,d30
     94     VADD.I16 d27,d27,d28
     95     VADD.I16 d26,d8,d23
     96     VEXT.8   d28,d24,d25,#6
     97     VMLAL.S16 q2,d27,d31
     98     VEXT.8   d27,d24,d25,#4
     99     VEXT.8   d29,d25,d6,#2
    100     VADD.I16 d27,d27,d28
    101     VEXT.8   d8,d24,d25,#2
    102     VADDL.S16 q3,d24,d29
    103     VMLSL.S16 q2,d26,d30
    104     VMLAL.S16 q3,d27,d31
    105     VADD.I16 d8,d8,d25
    106     VMLSL.S16 q3,d8,d30
    107     VQRSHRUN.S32 d0,q0,#10
    108     VQRSHRUN.S32 d2,q1,#10
    109     VQRSHRUN.S32 d4,q2,#10
    110     VQRSHRUN.S32 d6,q3,#10
    111     VQMOVN.U16 d0,q0
    112     VQMOVN.U16 d2,q1
    113     VQMOVN.U16 d4,q2
    114     VQMOVN.U16 d6,q3
    115     POP      {r4-r12,pc}
    116     .endfunc
    117 
    118     .end
    119 
    120