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 |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 mov rdi, arg(4) ;Results | 158 mov rdi, arg(4) ;Results |
159 pxor xmm0, xmm0 | 159 pxor xmm0, xmm0 |
160 movdqa xmm2, xmm1 | 160 movdqa xmm2, xmm1 |
161 punpcklwd xmm1, xmm0 | 161 punpcklwd xmm1, xmm0 |
162 punpckhwd xmm2, xmm0 | 162 punpckhwd xmm2, xmm0 |
163 | 163 |
164 movdqa [rdi], xmm1 | 164 movdqa [rdi], xmm1 |
165 movdqa [rdi + 16], xmm2 | 165 movdqa [rdi + 16], xmm2 |
166 %endmacro | 166 %endmacro |
167 | 167 |
168 ;void vp9_sad16x16x8_sse4( | 168 ;void vpx_sad16x16x8_sse4_1( |
169 ; const unsigned char *src_ptr, | 169 ; const unsigned char *src_ptr, |
170 ; int src_stride, | 170 ; int src_stride, |
171 ; const unsigned char *ref_ptr, | 171 ; const unsigned char *ref_ptr, |
172 ; int ref_stride, | 172 ; int ref_stride, |
173 ; unsigned short *sad_array); | 173 ; unsigned short *sad_array); |
174 global sym(vp9_sad16x16x8_sse4) PRIVATE | 174 global sym(vpx_sad16x16x8_sse4_1) PRIVATE |
175 sym(vp9_sad16x16x8_sse4): | 175 sym(vpx_sad16x16x8_sse4_1): |
176 push rbp | 176 push rbp |
177 mov rbp, rsp | 177 mov rbp, rsp |
178 SHADOW_ARGS_TO_STACK 5 | 178 SHADOW_ARGS_TO_STACK 5 |
179 push rsi | 179 push rsi |
180 push rdi | 180 push rdi |
181 ; end prolog | 181 ; end prolog |
182 | 182 |
183 mov rsi, arg(0) ;src_ptr | 183 mov rsi, arg(0) ;src_ptr |
184 mov rdi, arg(2) ;ref_ptr | 184 mov rdi, arg(2) ;ref_ptr |
185 | 185 |
(...skipping 12 matching lines...) Expand all Loading... |
198 WRITE_AS_INTS | 198 WRITE_AS_INTS |
199 | 199 |
200 ; begin epilog | 200 ; begin epilog |
201 pop rdi | 201 pop rdi |
202 pop rsi | 202 pop rsi |
203 UNSHADOW_ARGS | 203 UNSHADOW_ARGS |
204 pop rbp | 204 pop rbp |
205 ret | 205 ret |
206 | 206 |
207 | 207 |
208 ;void vp9_sad16x8x8_sse4( | 208 ;void vpx_sad16x8x8_sse4_1( |
209 ; const unsigned char *src_ptr, | 209 ; const unsigned char *src_ptr, |
210 ; int src_stride, | 210 ; int src_stride, |
211 ; const unsigned char *ref_ptr, | 211 ; const unsigned char *ref_ptr, |
212 ; int ref_stride, | 212 ; int ref_stride, |
213 ; unsigned short *sad_array | 213 ; unsigned short *sad_array |
214 ;); | 214 ;); |
215 global sym(vp9_sad16x8x8_sse4) PRIVATE | 215 global sym(vpx_sad16x8x8_sse4_1) PRIVATE |
216 sym(vp9_sad16x8x8_sse4): | 216 sym(vpx_sad16x8x8_sse4_1): |
217 push rbp | 217 push rbp |
218 mov rbp, rsp | 218 mov rbp, rsp |
219 SHADOW_ARGS_TO_STACK 5 | 219 SHADOW_ARGS_TO_STACK 5 |
220 push rsi | 220 push rsi |
221 push rdi | 221 push rdi |
222 ; end prolog | 222 ; end prolog |
223 | 223 |
224 mov rsi, arg(0) ;src_ptr | 224 mov rsi, arg(0) ;src_ptr |
225 mov rdi, arg(2) ;ref_ptr | 225 mov rdi, arg(2) ;ref_ptr |
226 | 226 |
227 movsxd rax, dword ptr arg(1) ;src_stride | 227 movsxd rax, dword ptr arg(1) ;src_stride |
228 movsxd rdx, dword ptr arg(3) ;ref_stride | 228 movsxd rdx, dword ptr arg(3) ;ref_stride |
229 | 229 |
230 PROCESS_16X2X8 1 | 230 PROCESS_16X2X8 1 |
231 PROCESS_16X2X8 0 | 231 PROCESS_16X2X8 0 |
232 PROCESS_16X2X8 0 | 232 PROCESS_16X2X8 0 |
233 PROCESS_16X2X8 0 | 233 PROCESS_16X2X8 0 |
234 | 234 |
235 WRITE_AS_INTS | 235 WRITE_AS_INTS |
236 | 236 |
237 ; begin epilog | 237 ; begin epilog |
238 pop rdi | 238 pop rdi |
239 pop rsi | 239 pop rsi |
240 UNSHADOW_ARGS | 240 UNSHADOW_ARGS |
241 pop rbp | 241 pop rbp |
242 ret | 242 ret |
243 | 243 |
244 | 244 |
245 ;void vp9_sad8x8x8_sse4( | 245 ;void vpx_sad8x8x8_sse4_1( |
246 ; const unsigned char *src_ptr, | 246 ; const unsigned char *src_ptr, |
247 ; int src_stride, | 247 ; int src_stride, |
248 ; const unsigned char *ref_ptr, | 248 ; const unsigned char *ref_ptr, |
249 ; int ref_stride, | 249 ; int ref_stride, |
250 ; unsigned short *sad_array | 250 ; unsigned short *sad_array |
251 ;); | 251 ;); |
252 global sym(vp9_sad8x8x8_sse4) PRIVATE | 252 global sym(vpx_sad8x8x8_sse4_1) PRIVATE |
253 sym(vp9_sad8x8x8_sse4): | 253 sym(vpx_sad8x8x8_sse4_1): |
254 push rbp | 254 push rbp |
255 mov rbp, rsp | 255 mov rbp, rsp |
256 SHADOW_ARGS_TO_STACK 5 | 256 SHADOW_ARGS_TO_STACK 5 |
257 push rsi | 257 push rsi |
258 push rdi | 258 push rdi |
259 ; end prolog | 259 ; end prolog |
260 | 260 |
261 mov rsi, arg(0) ;src_ptr | 261 mov rsi, arg(0) ;src_ptr |
262 mov rdi, arg(2) ;ref_ptr | 262 mov rdi, arg(2) ;ref_ptr |
263 | 263 |
264 movsxd rax, dword ptr arg(1) ;src_stride | 264 movsxd rax, dword ptr arg(1) ;src_stride |
265 movsxd rdx, dword ptr arg(3) ;ref_stride | 265 movsxd rdx, dword ptr arg(3) ;ref_stride |
266 | 266 |
267 PROCESS_8X2X8 1 | 267 PROCESS_8X2X8 1 |
268 PROCESS_8X2X8 0 | 268 PROCESS_8X2X8 0 |
269 PROCESS_8X2X8 0 | 269 PROCESS_8X2X8 0 |
270 PROCESS_8X2X8 0 | 270 PROCESS_8X2X8 0 |
271 | 271 |
272 WRITE_AS_INTS | 272 WRITE_AS_INTS |
273 | 273 |
274 ; begin epilog | 274 ; begin epilog |
275 pop rdi | 275 pop rdi |
276 pop rsi | 276 pop rsi |
277 UNSHADOW_ARGS | 277 UNSHADOW_ARGS |
278 pop rbp | 278 pop rbp |
279 ret | 279 ret |
280 | 280 |
281 | 281 |
282 ;void vp9_sad8x16x8_sse4( | 282 ;void vpx_sad8x16x8_sse4_1( |
283 ; const unsigned char *src_ptr, | 283 ; const unsigned char *src_ptr, |
284 ; int src_stride, | 284 ; int src_stride, |
285 ; const unsigned char *ref_ptr, | 285 ; const unsigned char *ref_ptr, |
286 ; int ref_stride, | 286 ; int ref_stride, |
287 ; unsigned short *sad_array | 287 ; unsigned short *sad_array |
288 ;); | 288 ;); |
289 global sym(vp9_sad8x16x8_sse4) PRIVATE | 289 global sym(vpx_sad8x16x8_sse4_1) PRIVATE |
290 sym(vp9_sad8x16x8_sse4): | 290 sym(vpx_sad8x16x8_sse4_1): |
291 push rbp | 291 push rbp |
292 mov rbp, rsp | 292 mov rbp, rsp |
293 SHADOW_ARGS_TO_STACK 5 | 293 SHADOW_ARGS_TO_STACK 5 |
294 push rsi | 294 push rsi |
295 push rdi | 295 push rdi |
296 ; end prolog | 296 ; end prolog |
297 | 297 |
298 mov rsi, arg(0) ;src_ptr | 298 mov rsi, arg(0) ;src_ptr |
299 mov rdi, arg(2) ;ref_ptr | 299 mov rdi, arg(2) ;ref_ptr |
300 | 300 |
(...skipping 12 matching lines...) Expand all Loading... |
313 WRITE_AS_INTS | 313 WRITE_AS_INTS |
314 | 314 |
315 ; begin epilog | 315 ; begin epilog |
316 pop rdi | 316 pop rdi |
317 pop rsi | 317 pop rsi |
318 UNSHADOW_ARGS | 318 UNSHADOW_ARGS |
319 pop rbp | 319 pop rbp |
320 ret | 320 ret |
321 | 321 |
322 | 322 |
323 ;void vp9_sad4x4x8_c( | 323 ;void vpx_sad4x4x8_sse4_1( |
324 ; const unsigned char *src_ptr, | 324 ; const unsigned char *src_ptr, |
325 ; int src_stride, | 325 ; int src_stride, |
326 ; const unsigned char *ref_ptr, | 326 ; const unsigned char *ref_ptr, |
327 ; int ref_stride, | 327 ; int ref_stride, |
328 ; unsigned short *sad_array | 328 ; unsigned short *sad_array |
329 ;); | 329 ;); |
330 global sym(vp9_sad4x4x8_sse4) PRIVATE | 330 global sym(vpx_sad4x4x8_sse4_1) PRIVATE |
331 sym(vp9_sad4x4x8_sse4): | 331 sym(vpx_sad4x4x8_sse4_1): |
332 push rbp | 332 push rbp |
333 mov rbp, rsp | 333 mov rbp, rsp |
334 SHADOW_ARGS_TO_STACK 5 | 334 SHADOW_ARGS_TO_STACK 5 |
335 push rsi | 335 push rsi |
336 push rdi | 336 push rdi |
337 ; end prolog | 337 ; end prolog |
338 | 338 |
339 mov rsi, arg(0) ;src_ptr | 339 mov rsi, arg(0) ;src_ptr |
340 mov rdi, arg(2) ;ref_ptr | 340 mov rdi, arg(2) ;ref_ptr |
341 | 341 |
342 movsxd rax, dword ptr arg(1) ;src_stride | 342 movsxd rax, dword ptr arg(1) ;src_stride |
343 movsxd rdx, dword ptr arg(3) ;ref_stride | 343 movsxd rdx, dword ptr arg(3) ;ref_stride |
344 | 344 |
345 PROCESS_4X2X8 1 | 345 PROCESS_4X2X8 1 |
346 PROCESS_4X2X8 0 | 346 PROCESS_4X2X8 0 |
347 | 347 |
348 WRITE_AS_INTS | 348 WRITE_AS_INTS |
349 | 349 |
350 ; begin epilog | 350 ; begin epilog |
351 pop rdi | 351 pop rdi |
352 pop rsi | 352 pop rsi |
353 UNSHADOW_ARGS | 353 UNSHADOW_ARGS |
354 pop rbp | 354 pop rbp |
355 ret | 355 ret |
356 | 356 |
357 | 357 |
358 | 358 |
359 | 359 |
OLD | NEW |