Home | History | Annotate | Download | only in neon
      1 ;
      2 ;  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3 ;
      4 ;  Use of this source code is governed by a BSD-style license
      5 ;  that can be found in the LICENSE file in the root of the source
      6 ;  tree. An additional intellectual property rights grant can be found
      7 ;  in the file PATENTS.  All contributing project authors may
      8 ;  be found in the AUTHORS file in the root of the source tree.
      9 ;
     10 
     11 
     12     EXPORT  |vp8_copy_mem16x16_neon|
     13     ; ARM
     14     ; REQUIRE8
     15     ; PRESERVE8
     16 
     17     AREA    Block, CODE, READONLY ; name this block of code
     18 ;void copy_mem16x16_neon( unsigned char *src, int src_stride, unsigned char *dst, int dst_stride)
     19 ;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
     20 |vp8_copy_mem16x16_neon| PROC
     21 
     22     vld1.u8     {q0}, [r0], r1
     23     vld1.u8     {q1}, [r0], r1
     24     vld1.u8     {q2}, [r0], r1
     25     vst1.u8     {q0}, [r2], r3
     26     vld1.u8     {q3}, [r0], r1
     27     vst1.u8     {q1}, [r2], r3
     28     vld1.u8     {q4}, [r0], r1
     29     vst1.u8     {q2}, [r2], r3
     30     vld1.u8     {q5}, [r0], r1
     31     vst1.u8     {q3}, [r2], r3
     32     vld1.u8     {q6}, [r0], r1
     33     vst1.u8     {q4}, [r2], r3
     34     vld1.u8     {q7}, [r0], r1
     35     vst1.u8     {q5}, [r2], r3
     36     vld1.u8     {q8}, [r0], r1
     37     vst1.u8     {q6}, [r2], r3
     38     vld1.u8     {q9}, [r0], r1
     39     vst1.u8     {q7}, [r2], r3
     40     vld1.u8     {q10}, [r0], r1
     41     vst1.u8     {q8}, [r2], r3
     42     vld1.u8     {q11}, [r0], r1
     43     vst1.u8     {q9}, [r2], r3
     44     vld1.u8     {q12}, [r0], r1
     45     vst1.u8     {q10}, [r2], r3
     46     vld1.u8     {q13}, [r0], r1
     47     vst1.u8     {q11}, [r2], r3
     48     vld1.u8     {q14}, [r0], r1
     49     vst1.u8     {q12}, [r2], r3
     50     vld1.u8     {q15}, [r0], r1
     51     vst1.u8     {q13}, [r2], r3
     52     vst1.u8     {q14}, [r2], r3
     53     vst1.u8     {q15}, [r2], r3
     54 
     55     mov     pc, lr
     56 
     57     ENDP  ; |vp8_copy_mem16x16_neon|
     58 
     59     END
     60