2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
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.
12 EXPORT |vp8_sad16x16_neon|
13 EXPORT |vp8_sad16x8_neon|
19 AREA ||.text||, CODE, READONLY, ALIGN=2
21 ; r0 unsigned char *src_ptr
23 ; r2 unsigned char *ref_ptr
25 |vp8_sad16x16_neon| PROC
100 vld1.8 {q4}, [r2], r3
102 vabal.u8 q12, d6, d14
103 vabal.u8 q13, d7, d15
105 vld1.8 {q1}, [r0], r1
106 vld1.8 {q5}, [r2], r3
111 vld1.8 {q2}, [r0], r1
112 vld1.8 {q6}, [r2], r3
114 vabal.u8 q12, d2, d10
115 vabal.u8 q13, d3, d11
120 vabal.u8 q12, d4, d12
121 vabal.u8 q13, d5, d13
123 vabal.u8 q12, d6, d14
124 vabal.u8 q13, d7, d15
126 vadd.u16 q0, q12, q13
139 ;==============================
140 ;unsigned int vp8_sad16x8_c(
141 ; unsigned char *src_ptr,
143 ; unsigned char *ref_ptr,
145 |vp8_sad16x8_neon| PROC
146 vld1.8 {q0}, [r0], r1
147 vld1.8 {q4}, [r2], r3
149 vld1.8 {q1}, [r0], r1
150 vld1.8 {q5}, [r2], r3
155 vld1.8 {q2}, [r0], r1
156 vld1.8 {q6}, [r2], r3
158 vabal.u8 q12, d2, d10
159 vabal.u8 q13, d3, d11
161 vld1.8 {q3}, [r0], r1
162 vld1.8 {q7}, [r2], r3
164 vabal.u8 q12, d4, d12
165 vabal.u8 q13, d5, d13
167 vld1.8 {q0}, [r0], r1
168 vld1.8 {q4}, [r2], r3
170 vabal.u8 q12, d6, d14
171 vabal.u8 q13, d7, d15
173 vld1.8 {q1}, [r0], r1
174 vld1.8 {q5}, [r2], r3
179 vld1.8 {q2}, [r0], r1
180 vld1.8 {q6}, [r2], r3
182 vabal.u8 q12, d2, d10
183 vabal.u8 q13, d3, d11
185 vld1.8 {q3}, [r0], r1
186 vld1.8 {q7}, [r2], r3
188 vabal.u8 q12, d4, d12
189 vabal.u8 q13, d5, d13
191 vabal.u8 q12, d6, d14
192 vabal.u8 q13, d7, d15
194 vadd.u16 q0, q12, q13