[xiph-commits] r11538 - branches/theora-playtime/lib/x86_32_vs
illiminable at svn.xiph.org
illiminable at svn.xiph.org
Wed Jun 7 10:00:52 PDT 2006
Author: illiminable
Date: 2006-06-07 10:00:47 -0700 (Wed, 07 Jun 2006)
New Revision: 11538
Modified:
branches/theora-playtime/lib/x86_32_vs/idct_sse2.c
Log:
* idct1 from 34 to 39 cycles, but this one actually works
Modified: branches/theora-playtime/lib/x86_32_vs/idct_sse2.c
===================================================================
--- branches/theora-playtime/lib/x86_32_vs/idct_sse2.c 2006-06-07 16:31:40 UTC (rev 11537)
+++ branches/theora-playtime/lib/x86_32_vs/idct_sse2.c 2006-06-07 17:00:47 UTC (rev 11538)
@@ -616,15 +616,15 @@
mov eax, temp_ptr
mov cx, WORD PTR [esi]
- add cx, WORD PTR [edx]
+ imul cx, WORD PTR [edx]
add cx, 15
- shr cx, 5
+ sar cx, 5
/* Write it to mem so can get it to xmm reg */
mov [eax], cx
/* Read it from mem */
- movdqa xmm0, [eax]
+ movq xmm0, QWORD PTR [eax]
/* Put this word in all the spaces */
pshufd xmm1, xmm0, 0
@@ -633,15 +633,23 @@
por xmm1, xmm2
+
movdqa [edi], xmm1
movdqa [edi+16], xmm1
movdqa [edi+32], xmm1
movdqa [edi+48], xmm1
+ movdqa [edi+64], xmm1
+ movdqa [edi+80], xmm1
+ movdqa [edi+96], xmm1
+ movdqa [edi+112], xmm1
+
+
+
}
PERF_BLOCK_END("IDct1 C", perf_idct1_time, perf_idct1_count,perf_idct1_min, 10000);
#endif
More information about the commits
mailing list