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_HalfVer4x4_unsafe
     14     .func   armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe
     15 armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe:
     16     PUSH     {r4-r12,lr}
     17     VLD1.8   {d7},[r0],r1
     18     ADD      r12,r0,r1,LSL #2
     19     VLD1.8   {d8},[r0],r1
     20     VLD1.8   {d12},[r12],r1
     21     VLD1.8   {d9},[r0],r1
     22     VADDL.U8 q0,d7,d12
     23     VLD1.8   {d10},[r0],r1
     24     VLD1.8   {d13},[r12],r1
     25     VLD1.8   {d11},[r0],r1
     26     VLD1.8   {d14},[r12],r1
     27     VADDL.U8 q8,d8,d11
     28     VADDL.U8 q9,d9,d10
     29     VLD1.8   {d15},[r12],r1
     30     VMLS.I16 d0,d16,d30
     31     VMUL.I16 d20,d18,d31
     32     VADDL.U8 q8,d9,d12
     33     VADDL.U8 q9,d10,d11
     34     VADDL.U8 q1,d8,d13
     35     VMLS.I16 d2,d16,d30
     36     VMUL.I16 d21,d18,d31
     37     VADDL.U8 q8,d10,d13
     38     VADDL.U8 q9,d11,d12
     39     VADDL.U8 q2,d9,d14
     40     VMLS.I16 d4,d16,d30
     41     VMUL.I16 d22,d18,d31
     42     VADDL.U8 q8,d11,d14
     43     VADDL.U8 q3,d10,d15
     44     VADDL.U8 q9,d12,d13
     45     VMLS.I16 d6,d16,d30
     46     VADD.I16 d0,d0,d20
     47     VADD.I16 d2,d2,d21
     48     VADD.I16 d4,d4,d22
     49     VMLA.I16 d6,d18,d31
     50     VQRSHRUN.S16 d0,q0,#5
     51     VQRSHRUN.S16 d2,q1,#5
     52     VQRSHRUN.S16 d4,q2,#5
     53     VQRSHRUN.S16 d6,q3,#5
     54     POP      {r4-r12,pc}
     55     .endfunc
     56 
     57     .end
     58 
     59