diff i386/dsputil_mmx.h @ 7220:a94b2cf78a2e libavcodec

Make LOAD4/STORE4 macros more generic. Patch by Victor Pollex victor pollex web de Original thread: [PATCH] mmx implementation of vc-1 inverse transformations Date: 06/21/2008 03:37 PM
author benoit
date Tue, 08 Jul 2008 09:24:11 +0000
parents f7cbb7733146
children dbb5ab337349
line wrap: on
line diff
--- a/i386/dsputil_mmx.h	Mon Jul 07 21:25:18 2008 +0000
+++ b/i386/dsputil_mmx.h	Tue Jul 08 09:24:11 2008 +0000
@@ -57,6 +57,18 @@
 extern const double ff_pd_1[2];
 extern const double ff_pd_2[2];
 
+#define LOAD4(stride,in,a,b,c,d)\
+    "movq 0*"#stride"+"#in", "#a"\n\t"\
+    "movq 1*"#stride"+"#in", "#b"\n\t"\
+    "movq 2*"#stride"+"#in", "#c"\n\t"\
+    "movq 3*"#stride"+"#in", "#d"\n\t"
+
+#define STORE4(stride,out,a,b,c,d)\
+    "movq "#a", 0*"#stride"+"#out"\n\t"\
+    "movq "#b", 1*"#stride"+"#out"\n\t"\
+    "movq "#c", 2*"#stride"+"#out"\n\t"\
+    "movq "#d", 3*"#stride"+"#out"\n\t"
+
 /* in/out: mma=mma+mmb, mmb=mmb-mma */
 #define SUMSUB_BA( a, b ) \
     "paddw "#b", "#a" \n\t"\