mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
remove some movq in ff_h264_idct8_add_mmx. 225->217 cycles on core2.
Originally committed as revision 11825 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
dc29622385
commit
51f0ac65df
@ -94,44 +94,38 @@ static inline void h264_idct8_1d(int16_t *block)
|
||||
{
|
||||
asm volatile(
|
||||
"movq 112(%0), %%mm7 \n\t"
|
||||
"movq 80(%0), %%mm5 \n\t"
|
||||
"movq 80(%0), %%mm0 \n\t"
|
||||
"movq 48(%0), %%mm3 \n\t"
|
||||
"movq 16(%0), %%mm1 \n\t"
|
||||
"movq 16(%0), %%mm5 \n\t"
|
||||
|
||||
"movq %%mm7, %%mm4 \n\t"
|
||||
"movq %%mm3, %%mm6 \n\t"
|
||||
"movq %%mm5, %%mm0 \n\t"
|
||||
"movq %%mm7, %%mm2 \n\t"
|
||||
"movq %%mm0, %%mm4 \n\t"
|
||||
"movq %%mm5, %%mm1 \n\t"
|
||||
"psraw $1, %%mm4 \n\t"
|
||||
"psraw $1, %%mm6 \n\t"
|
||||
"psubw %%mm7, %%mm0 \n\t"
|
||||
"psubw %%mm6, %%mm2 \n\t"
|
||||
"psubw %%mm4, %%mm0 \n\t"
|
||||
"psubw %%mm3, %%mm2 \n\t"
|
||||
"psubw %%mm3, %%mm0 \n\t"
|
||||
"paddw %%mm1, %%mm2 \n\t"
|
||||
|
||||
"movq %%mm5, %%mm4 \n\t"
|
||||
"movq %%mm1, %%mm6 \n\t"
|
||||
"psraw $1, %%mm4 \n\t"
|
||||
"psraw $1, %%mm6 \n\t"
|
||||
"paddw %%mm5, %%mm4 \n\t"
|
||||
"paddw %%mm1, %%mm6 \n\t"
|
||||
"psraw $1, %%mm1 \n\t"
|
||||
"paddw %%mm0, %%mm4 \n\t"
|
||||
"paddw %%mm5, %%mm1 \n\t"
|
||||
"paddw %%mm7, %%mm4 \n\t"
|
||||
"paddw %%mm5, %%mm6 \n\t"
|
||||
"psubw %%mm1, %%mm4 \n\t"
|
||||
"paddw %%mm3, %%mm6 \n\t"
|
||||
"paddw %%mm0, %%mm1 \n\t"
|
||||
"psubw %%mm5, %%mm4 \n\t"
|
||||
"paddw %%mm3, %%mm1 \n\t"
|
||||
|
||||
"psubw %%mm3, %%mm5 \n\t"
|
||||
"psubw %%mm3, %%mm0 \n\t"
|
||||
"paddw %%mm7, %%mm5 \n\t"
|
||||
"psubw %%mm7, %%mm0 \n\t"
|
||||
"psraw $1, %%mm3 \n\t"
|
||||
"psraw $1, %%mm7 \n\t"
|
||||
"psubw %%mm3, %%mm5 \n\t"
|
||||
"psubw %%mm7, %%mm0 \n\t"
|
||||
|
||||
"movq %%mm0, %%mm1 \n\t"
|
||||
"movq %%mm4, %%mm3 \n\t"
|
||||
"movq %%mm2, %%mm5 \n\t"
|
||||
"movq %%mm6, %%mm7 \n\t"
|
||||
"psraw $2, %%mm6 \n\t"
|
||||
"movq %%mm1, %%mm7 \n\t"
|
||||
"psraw $2, %%mm1 \n\t"
|
||||
"psraw $2, %%mm3 \n\t"
|
||||
"paddw %%mm5, %%mm3 \n\t"
|
||||
"psraw $2, %%mm5 \n\t"
|
||||
"paddw %%mm0, %%mm1 \n\t"
|
||||
"psraw $2, %%mm0 \n\t"
|
||||
"paddw %%mm6, %%mm1 \n\t"
|
||||
"paddw %%mm2, %%mm3 \n\t"
|
||||
"psubw %%mm4, %%mm5 \n\t"
|
||||
"psubw %%mm0, %%mm7 \n\t"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user