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_sad8x8_neon|
13 EXPORT |vp8_sad8x16_neon|
14 EXPORT |vp8_sad4x4_neon|
20 AREA ||.text||, CODE, READONLY, ALIGN=2
21 ; unsigned int vp8_sad8x8_c(
22 ; unsigned char *src_ptr,
24 ; unsigned char *ref_ptr,
27 |vp8_sad8x8_neon| PROC
32 vld1.8 {d10}, [r2], r3
37 vld1.8 {d12}, [r2], r3
42 vld1.8 {d14}, [r2], r3
52 vld1.8 {d10}, [r2], r3
57 vld1.8 {d12}, [r2], r3
62 vld1.8 {d14}, [r2], r3
77 ;============================
78 ;unsigned int vp8_sad8x16_c(
79 ; unsigned char *src_ptr,
81 ; unsigned char *ref_ptr,
84 |vp8_sad8x16_neon| PROC
89 vld1.8 {d10}, [r2], r3
94 vld1.8 {d12}, [r2], r3
99 vld1.8 {d14}, [r2], r3
101 vabal.u8 q12, d4, d12
103 vld1.8 {d0}, [r0], r1
104 vld1.8 {d8}, [r2], r3
106 vabal.u8 q12, d6, d14
108 vld1.8 {d2}, [r0], r1
109 vld1.8 {d10}, [r2], r3
113 vld1.8 {d4}, [r0], r1
114 vld1.8 {d12}, [r2], r3
116 vabal.u8 q12, d2, d10
118 vld1.8 {d6}, [r0], r1
119 vld1.8 {d14}, [r2], r3
121 vabal.u8 q12, d4, d12
123 vld1.8 {d0}, [r0], r1
124 vld1.8 {d8}, [r2], r3
126 vabal.u8 q12, d6, d14
128 vld1.8 {d2}, [r0], r1
129 vld1.8 {d10}, [r2], r3
133 vld1.8 {d4}, [r0], r1
134 vld1.8 {d12}, [r2], r3
136 vabal.u8 q12, d2, d10
138 vld1.8 {d6}, [r0], r1
139 vld1.8 {d14}, [r2], r3
141 vabal.u8 q12, d4, d12
143 vld1.8 {d0}, [r0], r1
144 vld1.8 {d8}, [r2], r3
146 vabal.u8 q12, d6, d14
148 vld1.8 {d2}, [r0], r1
149 vld1.8 {d10}, [r2], r3
153 vld1.8 {d4}, [r0], r1
154 vld1.8 {d12}, [r2], r3
156 vabal.u8 q12, d2, d10
158 vld1.8 {d6}, [r0], r1
159 vld1.8 {d14}, [r2], r3
161 vabal.u8 q12, d4, d12
162 vabal.u8 q12, d6, d14
174 ;===========================
175 ;unsigned int vp8_sad4x4_c(
176 ; unsigned char *src_ptr,
178 ; unsigned char *ref_ptr,
181 |vp8_sad4x4_neon| PROC
182 vld1.8 {d0}, [r0], r1
183 vld1.8 {d8}, [r2], r3
185 vld1.8 {d2}, [r0], r1
186 vld1.8 {d10}, [r2], r3
190 vld1.8 {d4}, [r0], r1
191 vld1.8 {d12}, [r2], r3
193 vabal.u8 q12, d2, d10
195 vld1.8 {d6}, [r0], r1
196 vld1.8 {d14}, [r2], r3
198 vabal.u8 q12, d4, d12
199 vabal.u8 q12, d6, d14