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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 paddw mm7, mm1 | 365 paddw mm7, mm1 |
366 | 366 |
367 %endmacro | 367 %endmacro |
368 | 368 |
369 ;void int vp8_sad16x16x3_sse3( | 369 ;void int vp8_sad16x16x3_sse3( |
370 ; unsigned char *src_ptr, | 370 ; unsigned char *src_ptr, |
371 ; int src_stride, | 371 ; int src_stride, |
372 ; unsigned char *ref_ptr, | 372 ; unsigned char *ref_ptr, |
373 ; int ref_stride, | 373 ; int ref_stride, |
374 ; int *results) | 374 ; int *results) |
375 global sym(vp8_sad16x16x3_sse3) | 375 global sym(vp8_sad16x16x3_sse3) PRIVATE |
376 sym(vp8_sad16x16x3_sse3): | 376 sym(vp8_sad16x16x3_sse3): |
377 | 377 |
378 STACK_FRAME_CREATE_X3 | 378 STACK_FRAME_CREATE_X3 |
379 | 379 |
380 PROCESS_16X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride | 380 PROCESS_16X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride |
381 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 381 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
382 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 382 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
383 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 383 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
384 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 384 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
385 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 385 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
(...skipping 21 matching lines...) Expand all Loading... |
407 movd [rcx+8], xmm0 | 407 movd [rcx+8], xmm0 |
408 | 408 |
409 STACK_FRAME_DESTROY_X3 | 409 STACK_FRAME_DESTROY_X3 |
410 | 410 |
411 ;void int vp8_sad16x8x3_sse3( | 411 ;void int vp8_sad16x8x3_sse3( |
412 ; unsigned char *src_ptr, | 412 ; unsigned char *src_ptr, |
413 ; int src_stride, | 413 ; int src_stride, |
414 ; unsigned char *ref_ptr, | 414 ; unsigned char *ref_ptr, |
415 ; int ref_stride, | 415 ; int ref_stride, |
416 ; int *results) | 416 ; int *results) |
417 global sym(vp8_sad16x8x3_sse3) | 417 global sym(vp8_sad16x8x3_sse3) PRIVATE |
418 sym(vp8_sad16x8x3_sse3): | 418 sym(vp8_sad16x8x3_sse3): |
419 | 419 |
420 STACK_FRAME_CREATE_X3 | 420 STACK_FRAME_CREATE_X3 |
421 | 421 |
422 PROCESS_16X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride | 422 PROCESS_16X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride |
423 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 423 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
424 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 424 PROCESS_16X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
425 PROCESS_16X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride | 425 PROCESS_16X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride |
426 | 426 |
427 mov rcx, result_ptr | 427 mov rcx, result_ptr |
(...skipping 17 matching lines...) Expand all Loading... |
445 movd [rcx+8], xmm0 | 445 movd [rcx+8], xmm0 |
446 | 446 |
447 STACK_FRAME_DESTROY_X3 | 447 STACK_FRAME_DESTROY_X3 |
448 | 448 |
449 ;void int vp8_sad8x16x3_sse3( | 449 ;void int vp8_sad8x16x3_sse3( |
450 ; unsigned char *src_ptr, | 450 ; unsigned char *src_ptr, |
451 ; int src_stride, | 451 ; int src_stride, |
452 ; unsigned char *ref_ptr, | 452 ; unsigned char *ref_ptr, |
453 ; int ref_stride, | 453 ; int ref_stride, |
454 ; int *results) | 454 ; int *results) |
455 global sym(vp8_sad8x16x3_sse3) | 455 global sym(vp8_sad8x16x3_sse3) PRIVATE |
456 sym(vp8_sad8x16x3_sse3): | 456 sym(vp8_sad8x16x3_sse3): |
457 | 457 |
458 STACK_FRAME_CREATE_X3 | 458 STACK_FRAME_CREATE_X3 |
459 | 459 |
460 PROCESS_8X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride | 460 PROCESS_8X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride |
461 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 461 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
462 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 462 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
463 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 463 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
464 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 464 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
465 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 465 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
466 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 466 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
467 PROCESS_8X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride | 467 PROCESS_8X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride |
468 | 468 |
469 mov rcx, result_ptr | 469 mov rcx, result_ptr |
470 | 470 |
471 punpckldq mm5, mm6 | 471 punpckldq mm5, mm6 |
472 | 472 |
473 movq [rcx], mm5 | 473 movq [rcx], mm5 |
474 movd [rcx+8], mm7 | 474 movd [rcx+8], mm7 |
475 | 475 |
476 STACK_FRAME_DESTROY_X3 | 476 STACK_FRAME_DESTROY_X3 |
477 | 477 |
478 ;void int vp8_sad8x8x3_sse3( | 478 ;void int vp8_sad8x8x3_sse3( |
479 ; unsigned char *src_ptr, | 479 ; unsigned char *src_ptr, |
480 ; int src_stride, | 480 ; int src_stride, |
481 ; unsigned char *ref_ptr, | 481 ; unsigned char *ref_ptr, |
482 ; int ref_stride, | 482 ; int ref_stride, |
483 ; int *results) | 483 ; int *results) |
484 global sym(vp8_sad8x8x3_sse3) | 484 global sym(vp8_sad8x8x3_sse3) PRIVATE |
485 sym(vp8_sad8x8x3_sse3): | 485 sym(vp8_sad8x8x3_sse3): |
486 | 486 |
487 STACK_FRAME_CREATE_X3 | 487 STACK_FRAME_CREATE_X3 |
488 | 488 |
489 PROCESS_8X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride | 489 PROCESS_8X2X3 0, src_ptr, ref_ptr, src_stride, ref_stride |
490 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 490 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
491 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride | 491 PROCESS_8X2X3 1, src_ptr, ref_ptr, src_stride, ref_stride |
492 PROCESS_8X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride | 492 PROCESS_8X2X3 2, src_ptr, ref_ptr, src_stride, ref_stride |
493 | 493 |
494 mov rcx, result_ptr | 494 mov rcx, result_ptr |
495 | 495 |
496 punpckldq mm5, mm6 | 496 punpckldq mm5, mm6 |
497 | 497 |
498 movq [rcx], mm5 | 498 movq [rcx], mm5 |
499 movd [rcx+8], mm7 | 499 movd [rcx+8], mm7 |
500 | 500 |
501 STACK_FRAME_DESTROY_X3 | 501 STACK_FRAME_DESTROY_X3 |
502 | 502 |
503 ;void int vp8_sad4x4x3_sse3( | 503 ;void int vp8_sad4x4x3_sse3( |
504 ; unsigned char *src_ptr, | 504 ; unsigned char *src_ptr, |
505 ; int src_stride, | 505 ; int src_stride, |
506 ; unsigned char *ref_ptr, | 506 ; unsigned char *ref_ptr, |
507 ; int ref_stride, | 507 ; int ref_stride, |
508 ; int *results) | 508 ; int *results) |
509 global sym(vp8_sad4x4x3_sse3) | 509 global sym(vp8_sad4x4x3_sse3) PRIVATE |
510 sym(vp8_sad4x4x3_sse3): | 510 sym(vp8_sad4x4x3_sse3): |
511 | 511 |
512 STACK_FRAME_CREATE_X3 | 512 STACK_FRAME_CREATE_X3 |
513 | 513 |
514 movd mm0, DWORD PTR [src_ptr] | 514 movd mm0, DWORD PTR [src_ptr] |
515 movd mm1, DWORD PTR [ref_ptr] | 515 movd mm1, DWORD PTR [ref_ptr] |
516 | 516 |
517 movd mm2, DWORD PTR [src_ptr+src_stride] | 517 movd mm2, DWORD PTR [src_ptr+src_stride] |
518 movd mm3, DWORD PTR [ref_ptr+ref_stride] | 518 movd mm3, DWORD PTR [ref_ptr+ref_stride] |
519 | 519 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 | 574 |
575 STACK_FRAME_DESTROY_X3 | 575 STACK_FRAME_DESTROY_X3 |
576 | 576 |
577 ;unsigned int vp8_sad16x16_sse3( | 577 ;unsigned int vp8_sad16x16_sse3( |
578 ; unsigned char *src_ptr, | 578 ; unsigned char *src_ptr, |
579 ; int src_stride, | 579 ; int src_stride, |
580 ; unsigned char *ref_ptr, | 580 ; unsigned char *ref_ptr, |
581 ; int ref_stride, | 581 ; int ref_stride, |
582 ; int max_err) | 582 ; int max_err) |
583 ;%define lddqu movdqu | 583 ;%define lddqu movdqu |
584 global sym(vp8_sad16x16_sse3) | 584 global sym(vp8_sad16x16_sse3) PRIVATE |
585 sym(vp8_sad16x16_sse3): | 585 sym(vp8_sad16x16_sse3): |
586 | 586 |
587 STACK_FRAME_CREATE_X3 | 587 STACK_FRAME_CREATE_X3 |
588 | 588 |
589 mov end_ptr, 4 | 589 mov end_ptr, 4 |
590 pxor xmm7, xmm7 | 590 pxor xmm7, xmm7 |
591 | 591 |
592 .vp8_sad16x16_sse3_loop: | 592 .vp8_sad16x16_sse3_loop: |
593 movdqa xmm0, XMMWORD PTR [src_ptr] | 593 movdqa xmm0, XMMWORD PTR [src_ptr] |
594 movdqu xmm1, XMMWORD PTR [ref_ptr] | 594 movdqu xmm1, XMMWORD PTR [ref_ptr] |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
627 movq rax, xmm0 | 627 movq rax, xmm0 |
628 | 628 |
629 STACK_FRAME_DESTROY_X3 | 629 STACK_FRAME_DESTROY_X3 |
630 | 630 |
631 ;void vp8_sad16x16x4d_sse3( | 631 ;void vp8_sad16x16x4d_sse3( |
632 ; unsigned char *src_ptr, | 632 ; unsigned char *src_ptr, |
633 ; int src_stride, | 633 ; int src_stride, |
634 ; unsigned char *ref_ptr_base, | 634 ; unsigned char *ref_ptr_base, |
635 ; int ref_stride, | 635 ; int ref_stride, |
636 ; int *results) | 636 ; int *results) |
637 global sym(vp8_sad16x16x4d_sse3) | 637 global sym(vp8_sad16x16x4d_sse3) PRIVATE |
638 sym(vp8_sad16x16x4d_sse3): | 638 sym(vp8_sad16x16x4d_sse3): |
639 | 639 |
640 STACK_FRAME_CREATE_X4 | 640 STACK_FRAME_CREATE_X4 |
641 | 641 |
642 PROCESS_16X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 642 PROCESS_16X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
643 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 643 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
644 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 644 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
645 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 645 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
646 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 646 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
647 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 647 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
(...skipping 30 matching lines...) Expand all Loading... |
678 movd [rcx+12], xmm0 | 678 movd [rcx+12], xmm0 |
679 | 679 |
680 STACK_FRAME_DESTROY_X4 | 680 STACK_FRAME_DESTROY_X4 |
681 | 681 |
682 ;void vp8_sad16x8x4d_sse3( | 682 ;void vp8_sad16x8x4d_sse3( |
683 ; unsigned char *src_ptr, | 683 ; unsigned char *src_ptr, |
684 ; int src_stride, | 684 ; int src_stride, |
685 ; unsigned char *ref_ptr_base, | 685 ; unsigned char *ref_ptr_base, |
686 ; int ref_stride, | 686 ; int ref_stride, |
687 ; int *results) | 687 ; int *results) |
688 global sym(vp8_sad16x8x4d_sse3) | 688 global sym(vp8_sad16x8x4d_sse3) PRIVATE |
689 sym(vp8_sad16x8x4d_sse3): | 689 sym(vp8_sad16x8x4d_sse3): |
690 | 690 |
691 STACK_FRAME_CREATE_X4 | 691 STACK_FRAME_CREATE_X4 |
692 | 692 |
693 PROCESS_16X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 693 PROCESS_16X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
694 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 694 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
695 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 695 PROCESS_16X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
696 PROCESS_16X2X4 2, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride | 696 PROCESS_16X2X4 2, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, r
ef_stride |
697 | 697 |
698 %if ABI_IS_32BIT | 698 %if ABI_IS_32BIT |
(...skipping 26 matching lines...) Expand all Loading... |
725 movd [rcx+12], xmm0 | 725 movd [rcx+12], xmm0 |
726 | 726 |
727 STACK_FRAME_DESTROY_X4 | 727 STACK_FRAME_DESTROY_X4 |
728 | 728 |
729 ;void int vp8_sad8x16x4d_sse3( | 729 ;void int vp8_sad8x16x4d_sse3( |
730 ; unsigned char *src_ptr, | 730 ; unsigned char *src_ptr, |
731 ; int src_stride, | 731 ; int src_stride, |
732 ; unsigned char *ref_ptr, | 732 ; unsigned char *ref_ptr, |
733 ; int ref_stride, | 733 ; int ref_stride, |
734 ; int *results) | 734 ; int *results) |
735 global sym(vp8_sad8x16x4d_sse3) | 735 global sym(vp8_sad8x16x4d_sse3) PRIVATE |
736 sym(vp8_sad8x16x4d_sse3): | 736 sym(vp8_sad8x16x4d_sse3): |
737 | 737 |
738 STACK_FRAME_CREATE_X4 | 738 STACK_FRAME_CREATE_X4 |
739 | 739 |
740 PROCESS_8X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 740 PROCESS_8X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
741 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 741 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
742 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 742 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
743 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 743 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
744 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 744 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
745 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 745 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
(...skipping 12 matching lines...) Expand all Loading... |
758 movq [rcx+8], mm6 | 758 movq [rcx+8], mm6 |
759 | 759 |
760 STACK_FRAME_DESTROY_X4 | 760 STACK_FRAME_DESTROY_X4 |
761 | 761 |
762 ;void int vp8_sad8x8x4d_sse3( | 762 ;void int vp8_sad8x8x4d_sse3( |
763 ; unsigned char *src_ptr, | 763 ; unsigned char *src_ptr, |
764 ; int src_stride, | 764 ; int src_stride, |
765 ; unsigned char *ref_ptr, | 765 ; unsigned char *ref_ptr, |
766 ; int ref_stride, | 766 ; int ref_stride, |
767 ; int *results) | 767 ; int *results) |
768 global sym(vp8_sad8x8x4d_sse3) | 768 global sym(vp8_sad8x8x4d_sse3) PRIVATE |
769 sym(vp8_sad8x8x4d_sse3): | 769 sym(vp8_sad8x8x4d_sse3): |
770 | 770 |
771 STACK_FRAME_CREATE_X4 | 771 STACK_FRAME_CREATE_X4 |
772 | 772 |
773 PROCESS_8X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 773 PROCESS_8X2X4 0, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
774 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 774 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
775 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 775 PROCESS_8X2X4 1, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
776 PROCESS_8X2X4 2, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride | 776 PROCESS_8X2X4 2, src_ptr, r0_ptr, r1_ptr, r2_ptr, r3_ptr, src_stride, re
f_stride |
777 | 777 |
778 %if ABI_IS_32BIT | 778 %if ABI_IS_32BIT |
779 pop rbp | 779 pop rbp |
780 %endif | 780 %endif |
781 mov rcx, result_ptr | 781 mov rcx, result_ptr |
782 | 782 |
783 punpckldq mm4, mm5 | 783 punpckldq mm4, mm5 |
784 punpckldq mm6, mm7 | 784 punpckldq mm6, mm7 |
785 | 785 |
786 movq [rcx], mm4 | 786 movq [rcx], mm4 |
787 movq [rcx+8], mm6 | 787 movq [rcx+8], mm6 |
788 | 788 |
789 STACK_FRAME_DESTROY_X4 | 789 STACK_FRAME_DESTROY_X4 |
790 | 790 |
791 ;void int vp8_sad4x4x4d_sse3( | 791 ;void int vp8_sad4x4x4d_sse3( |
792 ; unsigned char *src_ptr, | 792 ; unsigned char *src_ptr, |
793 ; int src_stride, | 793 ; int src_stride, |
794 ; unsigned char *ref_ptr, | 794 ; unsigned char *ref_ptr, |
795 ; int ref_stride, | 795 ; int ref_stride, |
796 ; int *results) | 796 ; int *results) |
797 global sym(vp8_sad4x4x4d_sse3) | 797 global sym(vp8_sad4x4x4d_sse3) PRIVATE |
798 sym(vp8_sad4x4x4d_sse3): | 798 sym(vp8_sad4x4x4d_sse3): |
799 | 799 |
800 STACK_FRAME_CREATE_X4 | 800 STACK_FRAME_CREATE_X4 |
801 | 801 |
802 movd mm0, DWORD PTR [src_ptr] | 802 movd mm0, DWORD PTR [src_ptr] |
803 movd mm1, DWORD PTR [r0_ptr] | 803 movd mm1, DWORD PTR [r0_ptr] |
804 | 804 |
805 movd mm2, DWORD PTR [src_ptr+src_stride] | 805 movd mm2, DWORD PTR [src_ptr+src_stride] |
806 movd mm3, DWORD PTR [r0_ptr+ref_stride] | 806 movd mm3, DWORD PTR [r0_ptr+ref_stride] |
807 | 807 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
881 punpcklbw mm2, mm1 | 881 punpcklbw mm2, mm1 |
882 | 882 |
883 movd [rsi+8], mm7 | 883 movd [rsi+8], mm7 |
884 psadbw mm2, mm0 | 884 psadbw mm2, mm0 |
885 | 885 |
886 paddw mm2, mm6 | 886 paddw mm2, mm6 |
887 movd [rsi+12], mm2 | 887 movd [rsi+12], mm2 |
888 | 888 |
889 | 889 |
890 STACK_FRAME_DESTROY_X4 | 890 STACK_FRAME_DESTROY_X4 |
OLD | NEW |