| OLD | NEW | 
|---|
| 1 ; | 1 ; | 
| 2 ;  Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ;  Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 
| 3 ; | 3 ; | 
| 4 ;  Use of this source code is governed by a BSD-style license | 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 | 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 | 6 ;  tree. An additional intellectual property rights grant can be found | 
| 7 ;  in the file PATENTS.  All contributing project authors may | 7 ;  in the file PATENTS.  All contributing project authors may | 
| 8 ;  be found in the AUTHORS file in the root of the source tree. | 8 ;  be found in the AUTHORS file in the root of the source tree. | 
| 9 ; | 9 ; | 
| 10 | 10 | 
| 11 | 11 | 
| 12     EXPORT  |vp8_mse16x16_neon| | 12     EXPORT  |vp8_mse16x16_neon| | 
| 13     EXPORT  |vp8_get16x16pred_error_neon| |  | 
| 14     EXPORT  |vp8_get4x4sse_cs_neon| | 13     EXPORT  |vp8_get4x4sse_cs_neon| | 
| 15 | 14 | 
| 16     ARM | 15     ARM | 
| 17     REQUIRE8 | 16     REQUIRE8 | 
| 18     PRESERVE8 | 17     PRESERVE8 | 
| 19 | 18 | 
| 20     AREA ||.text||, CODE, READONLY, ALIGN=2 | 19     AREA ||.text||, CODE, READONLY, ALIGN=2 | 
| 21 ;============================ | 20 ;============================ | 
| 22 ; r0    unsigned char *src_ptr | 21 ; r0    unsigned char *src_ptr | 
| 23 ; r1    int source_stride | 22 ; r1    int source_stride | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 69     vpaddl.u32      q1, q10 | 68     vpaddl.u32      q1, q10 | 
| 70     vadd.u64        d0, d2, d3 | 69     vadd.u64        d0, d2, d3 | 
| 71 | 70 | 
| 72     vst1.32         {d0[0]}, [r12] | 71     vst1.32         {d0[0]}, [r12] | 
| 73     vmov.32         r0, d0[0] | 72     vmov.32         r0, d0[0] | 
| 74 | 73 | 
| 75     bx              lr | 74     bx              lr | 
| 76 | 75 | 
| 77     ENDP | 76     ENDP | 
| 78 | 77 | 
| 79 ;============================ |  | 
| 80 ; r0    unsigned char *src_ptr |  | 
| 81 ; r1    int src_stride |  | 
| 82 ; r2    unsigned char *ref_ptr |  | 
| 83 ; r3    int ref_stride |  | 
| 84 |vp8_get16x16pred_error_neon| PROC |  | 
| 85     vmov.i8         q8, #0                      ;q8 - sum |  | 
| 86     vmov.i8         q9, #0                      ;q9, q10 - pred_error |  | 
| 87     vmov.i8         q10, #0 |  | 
| 88 |  | 
| 89     mov             r12, #8 |  | 
| 90 |  | 
| 91 get16x16pred_error_neon_loop |  | 
| 92     vld1.8          {q0}, [r0], r1              ;Load up source and reference |  | 
| 93     vld1.8          {q2}, [r2], r3 |  | 
| 94     vld1.8          {q1}, [r0], r1 |  | 
| 95     vld1.8          {q3}, [r2], r3 |  | 
| 96 |  | 
| 97     vsubl.u8        q11, d0, d4 |  | 
| 98     vsubl.u8        q12, d1, d5 |  | 
| 99     vsubl.u8        q13, d2, d6 |  | 
| 100     vsubl.u8        q14, d3, d7 |  | 
| 101 |  | 
| 102     vpadal.s16      q8, q11 |  | 
| 103     vmlal.s16       q9, d22, d22 |  | 
| 104     vmlal.s16       q10, d23, d23 |  | 
| 105 |  | 
| 106     subs            r12, r12, #1 |  | 
| 107 |  | 
| 108     vpadal.s16      q8, q12 |  | 
| 109     vmlal.s16       q9, d24, d24 |  | 
| 110     vmlal.s16       q10, d25, d25 |  | 
| 111     vpadal.s16      q8, q13 |  | 
| 112     vmlal.s16       q9, d26, d26 |  | 
| 113     vmlal.s16       q10, d27, d27 |  | 
| 114     vpadal.s16      q8, q14 |  | 
| 115     vmlal.s16       q9, d28, d28 |  | 
| 116     vmlal.s16       q10, d29, d29 |  | 
| 117 |  | 
| 118     bne             get16x16pred_error_neon_loop |  | 
| 119 |  | 
| 120     vadd.u32        q10, q9, q10 |  | 
| 121     vpaddl.s32      q0, q8 |  | 
| 122 |  | 
| 123     vpaddl.u32      q1, q10 |  | 
| 124     vadd.s64        d0, d0, d1 |  | 
| 125     vadd.u64        d1, d2, d3 |  | 
| 126 |  | 
| 127     vmull.s32       q5, d0, d0 |  | 
| 128     vshr.s32        d10, d10, #8 |  | 
| 129     vsub.s32        d0, d1, d10 |  | 
| 130 |  | 
| 131     vmov.32         r0, d0[0] |  | 
| 132     bx              lr |  | 
| 133 |  | 
| 134     ENDP |  | 
| 135 | 78 | 
| 136 ;============================= | 79 ;============================= | 
| 137 ; r0    unsigned char *src_ptr, | 80 ; r0    unsigned char *src_ptr, | 
| 138 ; r1    int  source_stride, | 81 ; r1    int  source_stride, | 
| 139 ; r2    unsigned char *ref_ptr, | 82 ; r2    unsigned char *ref_ptr, | 
| 140 ; r3    int  recon_stride | 83 ; r3    int  recon_stride | 
| 141 |vp8_get4x4sse_cs_neon| PROC | 84 |vp8_get4x4sse_cs_neon| PROC | 
| 142     vld1.8          {d0}, [r0], r1              ;Load up source and reference | 85     vld1.8          {d0}, [r0], r1              ;Load up source and reference | 
| 143     vld1.8          {d4}, [r2], r3 | 86     vld1.8          {d4}, [r2], r3 | 
| 144     vld1.8          {d1}, [r0], r1 | 87     vld1.8          {d1}, [r0], r1 | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 164 | 107 | 
| 165     vpaddl.u32      q1, q9 | 108     vpaddl.u32      q1, q9 | 
| 166     vadd.u64        d0, d2, d3 | 109     vadd.u64        d0, d2, d3 | 
| 167 | 110 | 
| 168     vmov.32         r0, d0[0] | 111     vmov.32         r0, d0[0] | 
| 169     bx              lr | 112     bx              lr | 
| 170 | 113 | 
| 171     ENDP | 114     ENDP | 
| 172 | 115 | 
| 173     END | 116     END | 
| OLD | NEW | 
|---|