[MPlayer-cvslog] CVS: main/postproc swscale_template.c, 1.124, 1.125
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Sat May 6 11:13:56 CEST 2006
Hi,
On Sat, May 06, 2006 at 04:01:42AM +0200, Michael Niedermayer CVS wrote:
> asm volatile(
> - "mov %%"REG_SP", "ESP_OFFSET"(%5) \n\t"
> - "mov %4, %%"REG_SP" \n\t"
> - YSCALEYUV2RGB(%%REGa, %5)
> - WRITEBGR32(%%REGSP, 8280(%5), %%REGa)
> - "mov "ESP_OFFSET"(%5), %%"REG_SP" \n\t"
> -
> - :: "r" (buf0), "r" (buf1), "r" (uvbuf0), "r" (uvbuf1), "m" (dest),
> - "r" (&c->redDither)
> - : "%"REG_a
> + "mov %%"REG_b", "ESP_OFFSET"(%5) \n\t"
> + "mov %4, %%"REG_b" \n\t"
> + "push %%"REG_BP" \n\t"
> + YSCALEYUV2RGB(%%REGBP, %5)
> + WRITEBGR32(%%REGb, 8280(%5), %%REGBP)
> + "pop %%"REG_BP" \n\t"
> + "mov "ESP_OFFSET"(%5), %%"REG_b" \n\t"
> +
> + :: "c" (buf0), "d" (buf1), "S" (uvbuf0), "D" (uvbuf1), "m" (dest),
> + "a" (&c->redDither)
Is there a reason why REG_b is save/restored into the struct and REG_BP
on the stack? Can't both be stored in the same place? (I would prefer
stack, but I don't know about performance implications).
Greetings,
Reimar Döffinger
More information about the MPlayer-cvslog
mailing list