2 ; Copyright (c) 2010 The VP8 project authors. All Rights Reserved.
4 ; Use of this source code is governed by a BSD-style license and patent
5 ; grant that can be found in the LICENSE file in the root of the source
6 ; tree. All contributing project authors may be found in the AUTHORS
7 ; file in the root of the source tree.
11 EXPORT |vp8_sad8x8_neon|
12 EXPORT |vp8_sad8x16_neon|
13 EXPORT |vp8_sad4x4_neon|
19 AREA ||.text||
, CODE
, READONLY
, ALIGN=2
20 ; unsigned int vp8_sad8x8_c(
21 ; unsigned char *src_ptr,
23 ; unsigned char *ref_ptr,
26 |vp8_sad8x8_neon|
PROC
31 vld1.8
{d10}, [r2
], r3
36 vld1.8
{d12}, [r2
], r3
41 vld1.8
{d14}, [r2
], r3
51 vld1.8
{d10}, [r2
], r3
56 vld1.8
{d12}, [r2
], r3
61 vld1.8
{d14}, [r2
], r3
76 ;============================
77 ;unsigned int vp8_sad8x16_c(
78 ; unsigned char *src_ptr,
80 ; unsigned char *ref_ptr,
83 |vp8_sad8x16_neon|
PROC
88 vld1.8
{d10}, [r2
], r3
93 vld1.8
{d12}, [r2
], r3
98 vld1.8
{d14}, [r2
], r3
100 vabal.u8 q12
, d4
, d12
102 vld1.8
{d0}, [r0
], r1
103 vld1.8
{d8}, [r2
], r3
105 vabal.u8 q12
, d6
, d14
107 vld1.8
{d2}, [r0
], r1
108 vld1.8
{d10}, [r2
], r3
112 vld1.8
{d4}, [r0
], r1
113 vld1.8
{d12}, [r2
], r3
115 vabal.u8 q12
, d2
, d10
117 vld1.8
{d6}, [r0
], r1
118 vld1.8
{d14}, [r2
], r3
120 vabal.u8 q12
, d4
, d12
122 vld1.8
{d0}, [r0
], r1
123 vld1.8
{d8}, [r2
], r3
125 vabal.u8 q12
, d6
, d14
127 vld1.8
{d2}, [r0
], r1
128 vld1.8
{d10}, [r2
], r3
132 vld1.8
{d4}, [r0
], r1
133 vld1.8
{d12}, [r2
], r3
135 vabal.u8 q12
, d2
, d10
137 vld1.8
{d6}, [r0
], r1
138 vld1.8
{d14}, [r2
], r3
140 vabal.u8 q12
, d4
, d12
142 vld1.8
{d0}, [r0
], r1
143 vld1.8
{d8}, [r2
], r3
145 vabal.u8 q12
, d6
, d14
147 vld1.8
{d2}, [r0
], r1
148 vld1.8
{d10}, [r2
], r3
152 vld1.8
{d4}, [r0
], r1
153 vld1.8
{d12}, [r2
], r3
155 vabal.u8 q12
, d2
, d10
157 vld1.8
{d6}, [r0
], r1
158 vld1.8
{d14}, [r2
], r3
160 vabal.u8 q12
, d4
, d12
161 vabal.u8 q12
, d6
, d14
173 ;===========================
174 ;unsigned int vp8_sad4x4_c(
175 ; unsigned char *src_ptr,
177 ; unsigned char *ref_ptr,
180 |vp8_sad4x4_neon|
PROC
181 vld1.8
{d0}, [r0
], r1
182 vld1.8
{d8}, [r2
], r3
184 vld1.8
{d2}, [r0
], r1
185 vld1.8
{d10}, [r2
], r3
189 vld1.8
{d4}, [r0
], r1
190 vld1.8
{d12}, [r2
], r3
192 vabal.u8 q12
, d2
, d10
194 vld1.8
{d6}, [r0
], r1
195 vld1.8
{d14}, [r2
], r3
197 vabal.u8 q12
, d4
, d12
198 vabal.u8 q12
, d6
, d14