Mercurial > libavcodec.hg
comparison cabac.h @ 4047:61a4e7218a45 libavcodec
reordering instructions a little in decode_significance_x86() -> 2 instructions less / 1% faster decode_residual on P3
author | michael |
---|---|
date | Fri, 20 Oct 2006 00:51:04 +0000 |
parents | 8bbc695c9603 |
children | bf6791303fa0 |
comparison
equal
deleted
inserted
replaced
4046:8bbc695c9603 | 4047:61a4e7218a45 |
---|---|
682 "movl "RANGE "(%3), %%esi \n\t" | 682 "movl "RANGE "(%3), %%esi \n\t" |
683 "movl "LOW "(%3), %%ebx \n\t" | 683 "movl "LOW "(%3), %%ebx \n\t" |
684 | 684 |
685 "2: \n\t" | 685 "2: \n\t" |
686 | 686 |
687 BRANCHLESS_GET_CABAC("%0", "%3", "(%1)", "%%ebx", "%%bx", "%%esi", "%%edx", "%%dl") | 687 BRANCHLESS_GET_CABAC("%%edx", "%3", "(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") |
688 | 688 |
689 "test $1, %0 \n\t" | 689 "test $1, %%edx \n\t" |
690 " jz 3f \n\t" | 690 " jz 3f \n\t" |
691 | |
692 BRANCHLESS_GET_CABAC("%%edx", "%3", "61(%1)", "%%ebx", "%%bx", "%%esi", "%%eax", "%%al") | |
691 | 693 |
692 "movl %2, %%eax \n\t" | 694 "movl %2, %%eax \n\t" |
693 "movl %4, %%ecx \n\t" | 695 "movl %4, %%ecx \n\t" |
694 "addl %1, %%ecx \n\t" | 696 "addl %1, %%ecx \n\t" |
695 "movl %%ecx, (%%eax) \n\t" | 697 "movl %%ecx, (%%eax) \n\t" |
696 "addl $4, %%eax \n\t" | 698 "addl $4, %%eax \n\t" |
697 "movl %%eax, %2 \n\t" | 699 "movl %%eax, %2 \n\t" |
698 | 700 |
699 BRANCHLESS_GET_CABAC("%0", "%3", "61(%1)", "%%ebx", "%%bx", "%%esi", "%%edx", "%%dl") | 701 "test $1, %%edx \n\t" |
700 | |
701 "test $1, %%eax \n\t" | |
702 " jnz 4f \n\t" | 702 " jnz 4f \n\t" |
703 | 703 |
704 "3: \n\t" | 704 "3: \n\t" |
705 "addl $1, %1 \n\t" | 705 "addl $1, %1 \n\t" |
706 "cmpl %5, %1 \n\t" | 706 "cmpl %5, %1 \n\t" |
708 "movl %2, %%eax \n\t" | 708 "movl %2, %%eax \n\t" |
709 "movl %4, %%ecx \n\t" | 709 "movl %4, %%ecx \n\t" |
710 "addl %1, %%ecx \n\t" | 710 "addl %1, %%ecx \n\t" |
711 "movl %%ecx, (%%eax) \n\t" | 711 "movl %%ecx, (%%eax) \n\t" |
712 "addl $4, %%eax \n\t" | 712 "addl $4, %%eax \n\t" |
713 "movl %%eax, %2 \n\t" | |
714 "4: \n\t" | 713 "4: \n\t" |
715 "movl %2, %%eax \n\t" | |
716 "addl %6, %%eax \n\t" | 714 "addl %6, %%eax \n\t" |
717 "shr $2, %%eax \n\t" | 715 "shr $2, %%eax \n\t" |
718 | 716 |
719 "movl %%esi, "RANGE "(%3) \n\t" | 717 "movl %%esi, "RANGE "(%3) \n\t" |
720 "movl %%ebx, "LOW "(%3) \n\t" | 718 "movl %%ebx, "LOW "(%3) \n\t" |