[FFmpeg-devel] [PATCH] use 'l' asm suffix to make icc happy
Måns Rullgård
mans
Sat Dec 15 22:56:20 CET 2007
Reimar D?ffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> writes:
> Hello,
> the operands to dec in these two cases can be a memory address, so the
> assembler can not really infer the size, and icc fails to compile.
> Attached patch fixes it.
>
> Greetings,
> Reimar D?ffinger
>
> 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),
> @@ -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),
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.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list