Lines 684-689
Link Here
|
684 |
"paddw %%mm4, %%mm0;" |
684 |
"paddw %%mm4, %%mm0;" |
685 |
"paddw %%mm5, %%mm1;" |
685 |
"paddw %%mm5, %%mm1;" |
686 |
|
686 |
|
|
|
687 |
"movd %%eax, %%mm6;" // save eax |
687 |
"pextrw $0, %%mm0, %%eax;" |
688 |
"pextrw $0, %%mm0, %%eax;" |
688 |
"movw (%2,%%eax,2), %%ax;" |
689 |
"movw (%2,%%eax,2), %%ax;" |
689 |
"pinsrw $0, %%eax, %%mm0;" |
690 |
"pinsrw $0, %%eax, %%mm0;" |
Lines 711-716
Link Here
|
711 |
"pextrw $3, %%mm1, %%eax;" |
712 |
"pextrw $3, %%mm1, %%eax;" |
712 |
"movw (%2,%%eax,2), %%ax;" |
713 |
"movw (%2,%%eax,2), %%ax;" |
713 |
"pinsrw $3, %%eax, %%mm1;" |
714 |
"pinsrw $3, %%eax, %%mm1;" |
|
|
715 |
"movd %%mm6, %%eax;" // restore eax |
714 |
|
716 |
|
715 |
"movntq %%mm0, (%3,%%ecx,2);" |
717 |
"movntq %%mm0, (%3,%%ecx,2);" |
716 |
"movntq %%mm1, 8(%3,%%ecx,2);" |
718 |
"movntq %%mm1, 8(%3,%%ecx,2);" |
Lines 725-732
Link Here
|
725 |
, "r" (table) // 2 |
727 |
, "r" (table) // 2 |
726 |
, "r" (dst) // 3 |
728 |
, "r" (dst) // 3 |
727 |
, "m" (mask) // 4 |
729 |
, "m" (mask) // 4 |
728 |
: "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm7" |
730 |
: "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" |
729 |
, "eax", "ecx" |
731 |
, "ecx" // eax save/restored so available for 'r' |
730 |
); |
732 |
); |
731 |
return; |
733 |
return; |
732 |
} |
734 |
} |