[FFmpeg-devel] [PATCH] use 'l' asm suffix to make icc happy

Reimar Döffinger Reimar.Doeffinger
Sat Dec 15 23:06:32 CET 2007


Hello,
On Sat, Dec 15, 2007 at 09:56:20PM +0000, M?ns Rullg?rd wrote:
[...]
> With what little x86 assembler I know, that looks OK (and it builds
> over here too).  However, there are several more similar instances in
> the same file.  I suppose they happened to get compiled differently,
> and thus didn't cause you any trouble.

attached patch should fix the rest as well.
I wonder why it causes no problem with gcc, does it always load it into
a register?

Greetings,
Reimar D?ffinger
-------------- next part --------------
Index: libavcodec/i386/vc1dsp_mmx.c
===================================================================
--- libavcodec/i386/vc1dsp_mmx.c	(revision 11225)
+++ libavcodec/i386/vc1dsp_mmx.c	(working copy)
@@ -95,7 +95,7 @@
         SHIFT2_LINE(168, 4, 1, 2, 3)
         "sub       %8, %1                  \n\t"
         "add       $8, %2                  \n\t"
-        "dec       %0                      \n\t"
+        "decl      %0                      \n\t"
         "jnz 1b                            \n\t"
         : "+g"(w), "+r"(src), "+r"(dst)
         : "r"(stride), "r"(-2*stride), "m"(shift),
@@ -139,7 +139,7 @@
         TRANSFER_DO_PACK
         "add       $24, %1                 \n\t"
         "add       %3, %2                  \n\t"
-        "dec       %0                      \n\t"
+        "decl      %0                      \n\t"
         "jnz 1b                            \n\t"
         : "+g"(h), "+r" (src),  "+r" (dst)
         : "g"(stride), "m"(rnd), "m"(fact_9), "m"(ff_pw_128)
@@ -191,7 +191,7 @@
         TRANSFER_DO_PACK
         "add       %7, %1                  \n\t"
         "add       %5, %2                  \n\t"
-        "dec       %0                      \n\t"
+        "decl      %0                      \n\t"
         "jnz 1b                            \n\t"
         : "+g"(h), "+r"(src),  "+r"(dst)
         : "r"(offset), "r"(-2*offset), "g"(stride), "m"(rnd),
@@ -297,7 +297,7 @@
         "movq      %%mm3, 16(%2)   \n\t"                                \
         "add       %3, %1          \n\t"                                \
         "add       $24, %2         \n\t"                                \
-        "dec       %0              \n\t"                                \
+        "decl      %0              \n\t"                                \
         "jnz 1b                    \n\t"                                \
         : "+g"(h), "+r" (src),  "+r" (dst)                              \
         : "r"(src_stride), "r"(3*src_stride),                           \
@@ -336,7 +336,7 @@
         TRANSFER_DO_PACK                                                \
         "add       $24, %1         \n\t"                                \
         "add       %3, %2          \n\t"                                \
-        "dec       %0              \n\t"                                \
+        "decl      %0              \n\t"                                \
         "jnz 1b                    \n\t"                                \
         : "+g"(h), "+r" (src),  "+r" (dst)                              \
         : "g"(stride), "m"(rnd), "m"(fact_53), "m"(fact_18),            \
@@ -372,7 +372,7 @@
         TRANSFER_DO_PACK                                                \
         "add       %5, %1          \n\t"                                \
         "add       %5, %2          \n\t"                                \
-        "dec       %0              \n\t"                                \
+        "decl      %0              \n\t"                                \
         "jnz 1b                    \n\t"                                \
         : "+g"(h), "+r" (src),  "+r" (dst)                              \
         : "r"(offset), "r"(3*offset), "g"(stride), "m"(rnd),            \



More information about the ffmpeg-devel mailing list