[Ffmpeg-devel] [patch] PIC fixes for i386
Michael Niedermayer
michaelni
Sun Dec 4 01:51:00 CET 2005
Hi
On Sun, Dec 04, 2005 at 12:36:16AM +0100, Luca Barbato wrote:
[...]
> asm volatile(
> - "movd %%"REG_a", %%mm3 \n\t" // last_non_zero_p1
> + "movd %6, %%mm3 \n\t" // last_non_zero_p1
> SPREADW(%%mm3)
> "pxor %%mm7, %%mm7 \n\t" // 0
> "pxor %%mm4, %%mm4 \n\t" // 0
> @@ -132,11 +132,11 @@
> "add $8, %%"REG_a" \n\t"
^^^^^^^
> " js 1b \n\t"
> PMAX(%%mm3, %%mm0)
> - "movd %%mm3, %%"REG_a" \n\t"
> - "movzb %%al, %%"REG_a" \n\t" // last_non_zero_p1
> - : "+a" (last_non_zero_p1)
> + "movd %%mm3, %0 \n\t"
> + "movzb %b0, %0 \n\t" // last_non_zero_p1
> + : "=q" (last_non_zero_p1)
> : "r" (block+64), "r" (qmat), "r" (bias),
> - "r" (inv_zigzag_direct16+64), "r" (temp_block+64)
> + "r" (inv_zigzag_direct16+64), "r" (temp_block+64), "m" (last_non_zero_p1)
> );
this is wrong ...
> // note the asm is split cuz gcc doesnt like that many operands ...
> asm volatile(
> @@ -150,7 +150,7 @@
> );
> }else{ // FMT_H263
> asm volatile(
> - "movd %%"REG_a", %%mm3 \n\t" // last_non_zero_p1
> + "movd %6, %%mm3 \n\t" // last_non_zero_p1
> SPREADW(%%mm3)
> "pxor %%mm7, %%mm7 \n\t" // 0
> "pxor %%mm4, %%mm4 \n\t" // 0
> @@ -178,11 +178,11 @@
> "add $8, %%"REG_a" \n\t"
that too
[...]
--
Michael
More information about the ffmpeg-devel
mailing list