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_HorDiagCopy_unsafe
     14     .func   armVCM4P10_InterpolateLuma_HorDiagCopy_unsafe
     15 armVCM4P10_InterpolateLuma_HorDiagCopy_unsafe:
     16     PUSH     {r4-r6,lr}
     17     MOV      lr,#4
     18     LDR      r6, =0xfe00fe0
     19     LDR      r12, =0xff00ff
     20 LoopStart1:
     21     LDR      r11,[r0,#0xc]
     22     LDR      r10,[r0,#8]
     23     LDR      r5,[r0,#4]
     24     LDR      r4,[r0],r1
     25     UQSUB16  r11,r11,r6
     26     UQSUB16  r10,r10,r6
     27     UQSUB16  r5,r5,r6
     28     UQSUB16  r4,r4,r6
     29     USAT16   r11,#13,r11
     30     USAT16   r10,#13,r10
     31     USAT16   r5,#13,r5
     32     USAT16   r4,#13,r4
     33     AND      r11,r12,r11,LSR #5
     34     AND      r10,r12,r10,LSR #5
     35     AND      r5,r12,r5,LSR #5
     36     AND      r4,r12,r4,LSR #5
     37     ORR      r11,r10,r11,LSL #8
     38     ORR      r10,r4,r5,LSL #8
     39     SUBS     lr,lr,#1
     40     STRD     r10,r11,[r7],#8
     41     BGT      LoopStart1
     42     SUB      r0,r7,#0x20
     43     MOV      r1,#8
     44     POP      {r4-r6,pc}
     45     .endfunc
     46 
     47     .global armVCM4P10_InterpolateLuma_VerDiagCopy_unsafe
     48     .func   armVCM4P10_InterpolateLuma_VerDiagCopy_unsafe
     49 armVCM4P10_InterpolateLuma_VerDiagCopy_unsafe:
     50     PUSH     {r4-r6,lr}
     51     LDR      r6, =0xfe00fe0
     52     LDR      r12, =0xff00ff
     53     MOV      lr,#2
     54 LoopStart:
     55     LDR      r11,[r0,#0xc]
     56     LDR      r10,[r0,#8]
     57     LDR      r5,[r0,#4]
     58     LDR      r4,[r0],r1
     59     UQSUB16  r11,r11,r6
     60     UQSUB16  r10,r10,r6
     61     UQSUB16  r5,r5,r6
     62     UQSUB16  r4,r4,r6
     63     USAT16   r11,#13,r11
     64     USAT16   r10,#13,r10
     65     USAT16   r5,#13,r5
     66     USAT16   r4,#13,r4
     67     AND      r11,r12,r11,LSR #5
     68     AND      r10,r12,r10,LSR #5
     69     AND      r5,r12,r5,LSR #5
     70     AND      r4,r12,r4,LSR #5
     71     ORR      r11,r10,r11,LSL #8
     72     ORR      r10,r4,r5,LSL #8
     73     PKHBT    r4,r10,r11,LSL #16
     74     STR      r4,[r7],#8
     75     PKHTB    r5,r11,r10,ASR #16
     76     STR      r5,[r7],#-4
     77     LDR      r11,[r0,#0xc]
     78     LDR      r10,[r0,#8]
     79     LDR      r5,[r0,#4]
     80     LDR      r4,[r0],r1
     81     UQSUB16  r11,r11,r6
     82     UQSUB16  r10,r10,r6
     83     UQSUB16  r5,r5,r6
     84     UQSUB16  r4,r4,r6
     85     USAT16   r11,#13,r11
     86     USAT16   r10,#13,r10
     87     USAT16   r5,#13,r5
     88     USAT16   r4,#13,r4
     89     AND      r11,r12,r11,LSR #5
     90     AND      r10,r12,r10,LSR #5
     91     AND      r5,r12,r5,LSR #5
     92     AND      r4,r12,r4,LSR #5
     93     ORR      r11,r10,r11,LSL #8
     94     ORR      r10,r4,r5,LSL #8
     95     PKHBT    r4,r10,r11,LSL #16
     96     SUBS     lr,lr,#1
     97     STR      r4,[r7],#8
     98     PKHTB    r5,r11,r10,ASR #16
     99     STR      r5,[r7],#4
    100     BGT      LoopStart
    101     SUB      r0,r7,#0x18
    102     MOV      r1,#4
    103     POP      {r4-r6,pc}
    104     .endfunc
    105 
    106     .end
    107 
    108