From bf9e61592900d683cd13fddf7807691f39c2e250 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Mon, 19 May 2014 10:17:07 +0300 Subject: moved register initializations out of loop. do not require registers for arguments. --- src/post/planar/eq2.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/post/planar/eq2.c b/src/post/planar/eq2.c index 06d8cd3fd..8822cd816 100644 --- a/src/post/planar/eq2.c +++ b/src/post/planar/eq2.c @@ -124,15 +124,16 @@ void affine_1d_MMX (eq2_param_t *par, unsigned char *dst, unsigned char *src, sstep = sstride - w; dstep = dstride - w; + asm volatile ( + "movq (%0), %%mm3 \n\t" + "movq (%1), %%mm4 \n\t" + "pxor %%mm0, %%mm0 \n\t" + : + : "g" (brvec), "g" (contvec) + ); + while (h-- > 0) { asm volatile ( - "movq (%0), %%mm3 \n\t" - "movq (%1), %%mm4 \n\t" - : - : "r" (brvec), "r" (contvec) - ); - asm volatile ( - "pxor %%mm0, %%mm0 \n\t" "movl %4, %%eax\n\t" ASMALIGN(4) "1: \n\t" -- cgit v1.2.3