[xiph-commits] r11503 - branches/theora-playtime/lib/x86_32_vs
illiminable at svn.xiph.org
illiminable at svn.xiph.org
Sat Jun 3 05:33:40 PDT 2006
Author: illiminable
Date: 2006-06-03 05:33:36 -0700 (Sat, 03 Jun 2006)
New Revision: 11503
Modified:
branches/theora-playtime/lib/x86_32_vs/dsp_sse2.c
Log:
* Reorder reads in sub8x8_128__sse2
Modified: branches/theora-playtime/lib/x86_32_vs/dsp_sse2.c
===================================================================
--- branches/theora-playtime/lib/x86_32_vs/dsp_sse2.c 2006-06-03 12:18:22 UTC (rev 11502)
+++ branches/theora-playtime/lib/x86_32_vs/dsp_sse2.c 2006-06-03 12:33:36 UTC (rev 11503)
@@ -236,15 +236,13 @@
8x16bits to fill all 128 bits of the register
*/
movq xmm1, QWORD PTR [esi]
+ movq xmm2, QWORD PTR [esi + eax]
+ movq xmm3, QWORD PTR [esi + eax * 2]
+ movq xmm4, QWORD PTR [esi + ebx]
+
punpcklbw xmm1, xmm0
-
- movq xmm2, QWORD PTR [esi + eax]
punpcklbw xmm2, xmm0
-
- movq xmm3, QWORD PTR [esi + eax * 2]
punpcklbw xmm3, xmm0
-
- movq xmm4, QWORD PTR [esi + ebx]
punpcklbw xmm4, xmm0
/* Subtract 128 16bitwise and write*/
@@ -258,21 +256,24 @@
movdqa [edi + 48], xmm4
+
+
/* Advance the source and dest pointer for the next 4 iterations */
lea esi, [esi + eax * 4]
add edi, 64
+
+
+
/* Repeat of above for second round */
movq xmm1, QWORD PTR [esi]
+ movq xmm2, QWORD PTR [esi + eax]
+ movq xmm3, QWORD PTR [esi + eax * 2]
+ movq xmm4, QWORD PTR [esi + ebx]
+
punpcklbw xmm1, xmm0
-
- movq xmm2, QWORD PTR [esi + eax]
punpcklbw xmm2, xmm0
-
- movq xmm3, QWORD PTR [esi + eax * 2]
punpcklbw xmm3, xmm0
-
- movq xmm4, QWORD PTR [esi + ebx]
punpcklbw xmm4, xmm0
/* Subtract 128 16bitwise and write*/
@@ -286,6 +287,7 @@
movdqa [edi + 48], xmm4
};
+
#endif
}
More information about the commits
mailing list