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_Copy4x4_unsafe
     14     .func   armVCM4P10_InterpolateLuma_Copy4x4_unsafe
     15 armVCM4P10_InterpolateLuma_Copy4x4_unsafe:
     16     PUSH     {r4-r6,lr}
     17     AND      r12,r0,#3
     18     BIC      r0,r0,#3
     19     ADD      pc,pc,r12,LSL #2
     20     NOP
     21     B        Copy4x4Align0
     22     B        Copy4x4Align1
     23     B        Copy4x4Align2
     24     B        Copy4x4Align3
     25 Copy4x4Align0:
     26     LDR      r4,[r0],r1
     27     LDR      r5,[r0],r1
     28     STR      r4,[r2],r3
     29     LDR      r8,[r0],r1
     30     STR      r5,[r2],r3
     31     LDR      r9,[r0],r1
     32     STR      r8,[r2],r3
     33     STR      r9,[r2],r3
     34     B        Copy4x4End
     35 Copy4x4Align1:
     36     LDR      r5,[r0,#4]
     37     LDR      r4,[r0],r1
     38     LDR      r9,[r0,#4]
     39     LDR      r8,[r0],r1
     40     LSR      r4,r4,#8
     41     ORR      r4,r4,r5,LSL #24
     42     STR      r4,[r2],r3
     43     LSR      r8,r8,#8
     44     ORR      r8,r8,r9,LSL #24
     45     LDR      r5,[r0,#4]
     46     LDR      r4,[r0],r1
     47     STR      r8,[r2],r3
     48     LDR      r9,[r0,#4]
     49     LDR      r8,[r0],r1
     50     LSR      r4,r4,#8
     51     ORR      r4,r4,r5,LSL #24
     52     STR      r4,[r2],r3
     53     LSR      r8,r8,#8
     54     ORR      r8,r8,r9,LSL #24
     55     STR      r8,[r2],r3
     56     B        Copy4x4End
     57 Copy4x4Align2:
     58     LDR      r5,[r0,#4]
     59     LDR      r4,[r0],r1
     60     LDR      r9,[r0,#4]
     61     LDR      r8,[r0],r1
     62     LSR      r4,r4,#16
     63     ORR      r4,r4,r5,LSL #16
     64     STR      r4,[r2],r3
     65     LSR      r8,r8,#16
     66     ORR      r8,r8,r9,LSL #16
     67     STR      r8,[r2],r3
     68     LDR      r5,[r0,#4]
     69     LDR      r4,[r0],r1
     70     LDR      r9,[r0,#4]
     71     LDR      r8,[r0],r1
     72     LSR      r4,r4,#16
     73     ORR      r4,r4,r5,LSL #16
     74     STR      r4,[r2],r3
     75     LSR      r8,r8,#16
     76     ORR      r8,r8,r9,LSL #16
     77     STR      r8,[r2],r3
     78     B        Copy4x4End
     79 Copy4x4Align3:
     80     LDR      r5,[r0,#4]
     81     LDR      r4,[r0],r1
     82     LDR      r9,[r0,#4]
     83     LDR      r8,[r0],r1
     84     LSR      r4,r4,#24
     85     ORR      r4,r4,r5,LSL #8
     86     STR      r4,[r2],r3
     87     LSR      r8,r8,#24
     88     ORR      r8,r8,r9,LSL #8
     89     STR      r8,[r2],r3
     90     LDR      r5,[r0,#4]
     91     LDR      r4,[r0],r1
     92     LDR      r9,[r0,#4]
     93     LDR      r8,[r0],r1
     94     LSR      r4,r4,#24
     95     ORR      r4,r4,r5,LSL #8
     96     STR      r4,[r2],r3
     97     LSR      r8,r8,#24
     98     ORR      r8,r8,r9,LSL #8
     99     STR      r8,[r2],r3
    100 Copy4x4End:
    101     POP      {r4-r6,pc}
    102     .endfunc
    103 
    104     .end
    105 
    106