.data .align 4 .type rounder0,@object rounder0: .long 65536 .long 65536 .size rounder0,8 .align 4 .type rounder4,@object rounder4: .long 1024 .long 1024 .size rounder4,8 .align 4 .type rounder1,@object rounder1: .long 3597 .long 3597 .size rounder1,8 .align 4 .type rounder7,@object rounder7: .long 512 .long 512 .size rounder7,8 .align 4 .type rounder2,@object rounder2: .long 2260 .long 2260 .size rounder2,8 .align 4 .type rounder6,@object rounder6: .long 512 .long 512 .size rounder6,8 .align 4 .type rounder3,@object rounder3: .long 1203 .long 1203 .size rounder3,8 .align 4 .type rounder5,@object rounder5: .long 120 .long 120 .size rounder5,8 .align 2 .type _T1.46,@object _T1.46: .value 13036 .value 13036 .value 13036 .value 13036 .align 2 .type _T2.47,@object _T2.47: .value 27146 .value 27146 .value 27146 .value 27146 .align 2 .type _T3.48,@object _T3.48: .value -21746 .value -21746 .value -21746 .value -21746 .align 2 .type _C4.49,@object _C4.49: .value 23170 .value 23170 .value 23170 .value 23170 .local scratch0.50 .comm scratch0.50,8,4 .local scratch1.51 .comm scratch1.51,8,4 .align 2 .type table04.54,@object table04.54: .value 16384 .value 21407 .value -16384 .value -21407 .value 16384 .value 8867 .value 16384 .value 8867 .value 22725 .value 19266 .value -22725 .value -12873 .value 12873 .value 4520 .value 19266 .value -4520 .value 16384 .value -8867 .value 16384 .value -8867 .value -16384 .value 21407 .value 16384 .value -21407 .value 12873 .value -22725 .value 19266 .value -22725 .value 4520 .value 19266 .value 4520 .value -12873 .align 2 .type table17.55,@object table17.55: .value 22725 .value 29692 .value -22725 .value -29692 .value 22725 .value 12299 .value 22725 .value 12299 .value 31521 .value 26722 .value -31521 .value -17855 .value 17855 .value 6270 .value 26722 .value -6270 .value 22725 .value -12299 .value 22725 .value -12299 .value -22725 .value 29692 .value 22725 .value -29692 .value 17855 .value -31521 .value 26722 .value -31521 .value 6270 .value 26722 .value 6270 .value -17855 .align 2 .type table26.56,@object table26.56: .value 21407 .value 27969 .value -21407 .value -27969 .value 21407 .value 11585 .value 21407 .value 11585 .value 29692 .value 25172 .value -29692 .value -16819 .value 16819 .value 5906 .value 25172 .value -5906 .value 21407 .value -11585 .value 21407 .value -11585 .value -21407 .value 27969 .value 21407 .value -27969 .value 16819 .value -29692 .value 25172 .value -29692 .value 5906 .value 25172 .value 5906 .value -16819 .align 2 .type table35.57,@object table35.57: .value 19266 .value 25172 .value -19266 .value -25172 .value 19266 .value 10426 .value 19266 .value 10426 .value 26722 .value 22654 .value -26722 .value -15137 .value 15137 .value 5315 .value 22654 .value -5315 .value 19266 .value -10426 .value 19266 .value -10426 .value -19266 .value 25172 .value 19266 .value -25172 .value 15137 .value -26722 .value 22654 .value -26722 .value 5315 .value 22654 .value 5315 .value -15137 .text .align 4 .globl gst_idct_sse_idct .type gst_idct_sse_idct,@function gst_idct_sse_idct: subl $8,%esp pushl %ebp pushl %edi pushl %esi pushl %ebx call .L51 .L51: popl %ebx addl $_GLOBAL_OFFSET_TABLE_+[.-.L51],%ebx movl 28(%esp),%edx leal table04.54@GOTOFF(%ebx),%eax movq (%edx), %mm2 movq 8(%edx), %mm5 movq %mm2, %mm0 movq (%eax), %mm3 movq %mm5, %mm6 movq 8(%eax), %mm4 pmaddwd %mm0, %mm3 pshufw $78, %mm2, %mm2 leal rounder0@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 movq 64(%edx), %mm2 psrad $11, %mm0 movq 72(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, (%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 8(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder4@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 leal table17.55@GOTOFF(%ebx),%eax movq 16(%edx), %mm2 psrad $11, %mm0 movq 24(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 64(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 72(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder1@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 movq 112(%edx), %mm2 psrad $11, %mm0 movq 120(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 16(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 24(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder7@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 leal table26.56@GOTOFF(%ebx),%eax movq 32(%edx), %mm2 psrad $11, %mm0 movq 40(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 112(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 120(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder2@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 movq 96(%edx), %mm2 psrad $11, %mm0 movq 104(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 32(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 40(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder6@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 leal table35.57@GOTOFF(%ebx),%eax movq 48(%edx), %mm2 psrad $11, %mm0 movq 56(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 96(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 104(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder3@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 movq 80(%edx), %mm2 psrad $11, %mm0 movq 88(%edx), %mm5 psrad $11, %mm4 packssdw %mm0, %mm1 movq %mm5, %mm6 packssdw %mm3, %mm4 movq %mm2, %mm0 movq %mm1, 48(%edx) pshufw $177, %mm4, %mm4 movq (%eax), %mm3 movq %mm4, 56(%edx) pmaddwd %mm0, %mm3 movq 8(%eax), %mm4 pshufw $78, %mm2, %mm2 leal rounder5@GOTOFF(%ebx),%ecx movq 16(%eax), %mm1 pmaddwd %mm2, %mm4 pmaddwd 32(%eax), %mm0 pshufw $78, %mm6, %mm6 movq 24(%eax), %mm7 pmaddwd %mm5, %mm1 paddd (%ecx), %mm3 pmaddwd %mm6, %mm7 pmaddwd 40(%eax), %mm2 paddd %mm4, %mm3 pmaddwd 48(%eax), %mm5 movq %mm3, %mm4 pmaddwd 56(%eax), %mm6 paddd %mm7, %mm1 paddd (%ecx), %mm0 psubd %mm1, %mm3 psrad $11, %mm3 paddd %mm4, %mm1 paddd %mm2, %mm0 psrad $11, %mm1 paddd %mm6, %mm5 movq %mm0, %mm4 paddd %mm5, %mm0 psubd %mm5, %mm4 psrad $11, %mm0 psrad $11, %mm4 packssdw %mm0, %mm1 packssdw %mm3, %mm4 movq %mm1, 80(%edx) pshufw $177, %mm4, %mm4 movq %mm4, 88(%edx) leal _T1.46@GOTOFF(%ebx),%edi movq (%edi), %mm0 movq 16(%edx), %mm1 movq %mm0, %mm2 movq 112(%edx), %mm4 pmulhw %mm1, %mm0 leal _T3.48@GOTOFF(%ebx),%esi movl %esi,16(%esp) movq (%esi), %mm5 pmulhw %mm4, %mm2 movq 80(%edx), %mm6 movq %mm5, %mm7 movq 48(%edx), %mm3 psubsw %mm4, %mm0 leal _T2.47@GOTOFF(%ebx),%ecx movq (%ecx), %mm4 pmulhw %mm3, %mm5 paddsw %mm2, %mm1 pmulhw %mm6, %mm7 movq %mm4, %mm2 paddsw %mm3, %mm5 pmulhw 32(%edx), %mm4 paddsw %mm6, %mm7 psubsw %mm6, %mm5 paddsw %mm3, %mm7 movq 96(%edx), %mm3 movq %mm0, %mm6 pmulhw %mm3, %mm2 psubsw %mm5, %mm0 psubsw %mm3, %mm4 paddsw %mm6, %mm5 leal scratch0.50@GOTOFF(%ebx),%esi movl %esi,20(%esp) movq %mm0, scratch0.50@GOTOFF(%ebx) movq %mm1, %mm6 paddsw 32(%edx), %mm2 paddsw %mm7, %mm6 psubsw %mm7, %mm1 movq %mm1, %mm7 movq (%edx), %mm3 paddsw %mm5, %mm1 leal _C4.49@GOTOFF(%ebx),%eax movq (%eax), %mm0 psubsw %mm5, %mm7 leal scratch1.51@GOTOFF(%ebx),%ebp movq %mm6, scratch1.51@GOTOFF(%ebx) pmulhw %mm0, %mm1 movq %mm4, %mm6 pmulhw %mm0, %mm7 movq 64(%edx), %mm5 movq %mm3, %mm0 psubsw %mm5, %mm3 paddsw %mm5, %mm0 paddsw %mm3, %mm4 movq %mm0, %mm5 psubsw %mm6, %mm3 paddsw %mm2, %mm5 paddsw %mm1, %mm1 psubsw %mm2, %mm0 paddsw %mm7, %mm7 movq %mm3, %mm2 movq %mm4, %mm6 paddsw %mm7, %mm3 psraw $6, %mm3 paddsw %mm1, %mm4 psraw $6, %mm4 psubsw %mm1, %mm6 movq (%ebp), %mm1 psubsw %mm7, %mm2 psraw $6, %mm6 movq %mm5, %mm7 movq %mm4, 16(%edx) psraw $6, %mm2 movq %mm3, 32(%edx) paddsw %mm1, %mm5 movq (%esi), %mm4 psubsw %mm1, %mm7 psraw $6, %mm5 movq %mm0, %mm3 movq %mm2, 80(%edx) psubsw %mm4, %mm3 psraw $6, %mm7 paddsw %mm0, %mm4 movq %mm5, (%edx) psraw $6, %mm3 movq %mm6, 96(%edx) psraw $6, %mm4 movq %mm7, 112(%edx) movq %mm3, 64(%edx) movq %mm4, 48(%edx) movq (%edi), %mm0 movq 24(%edx), %mm1 movq %mm0, %mm2 movq 120(%edx), %mm4 pmulhw %mm1, %mm0 movl 16(%esp),%esi movq (%esi), %mm5 pmulhw %mm4, %mm2 movq 88(%edx), %mm6 movq %mm5, %mm7 movq 56(%edx), %mm3 psubsw %mm4, %mm0 movq (%ecx), %mm4 pmulhw %mm3, %mm5 paddsw %mm2, %mm1 pmulhw %mm6, %mm7 movq %mm4, %mm2 paddsw %mm3, %mm5 pmulhw 40(%edx), %mm4 paddsw %mm6, %mm7 psubsw %mm6, %mm5 paddsw %mm3, %mm7 movq 104(%edx), %mm3 movq %mm0, %mm6 pmulhw %mm3, %mm2 psubsw %mm5, %mm0 psubsw %mm3, %mm4 paddsw %mm6, %mm5 movq %mm0, scratch0.50@GOTOFF(%ebx) movq %mm1, %mm6 paddsw 40(%edx), %mm2 paddsw %mm7, %mm6 psubsw %mm7, %mm1 movq %mm1, %mm7 movq 8(%edx), %mm3 paddsw %mm5, %mm1 movq (%eax), %mm0 psubsw %mm5, %mm7 movq %mm6, scratch1.51@GOTOFF(%ebx) pmulhw %mm0, %mm1 movq %mm4, %mm6 pmulhw %mm0, %mm7 movq 72(%edx), %mm5 movq %mm3, %mm0 psubsw %mm5, %mm3 paddsw %mm5, %mm0 paddsw %mm3, %mm4 movq %mm0, %mm5 psubsw %mm6, %mm3 paddsw %mm2, %mm5 paddsw %mm1, %mm1 psubsw %mm2, %mm0 paddsw %mm7, %mm7 movq %mm3, %mm2 movq %mm4, %mm6 paddsw %mm7, %mm3 psraw $6, %mm3 paddsw %mm1, %mm4 psraw $6, %mm4 psubsw %mm1, %mm6 movq (%ebp), %mm1 psubsw %mm7, %mm2 psraw $6, %mm6 movq %mm5, %mm7 movq %mm4, 24(%edx) psraw $6, %mm2 movq %mm3, 40(%edx) paddsw %mm1, %mm5 movl 20(%esp),%esi movq (%esi), %mm4 psubsw %mm1, %mm7 psraw $6, %mm5 movq %mm0, %mm3 movq %mm2, 88(%edx) psubsw %mm4, %mm3 psraw $6, %mm7 paddsw %mm0, %mm4 movq %mm5, 8(%edx) psraw $6, %mm3 movq %mm6, 104(%edx) psraw $6, %mm4 movq %mm7, 120(%edx) movq %mm3, 72(%edx) movq %mm4, 56(%edx) popl %ebx popl %esi popl %edi popl %ebp addl $8,%esp ret