[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd/cvd_src/i686 yuv411_to_stuff_MMX_64.C
From: |
Edward Rosten |
Subject: |
[libcvd-members] libcvd/cvd_src/i686 yuv411_to_stuff_MMX_64.C |
Date: |
Wed, 17 Jun 2009 12:22:56 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: libcvd
Changes by: Edward Rosten <edrosten> 09/06/17 12:22:56
Modified files:
cvd_src/i686 : yuv411_to_stuff_MMX_64.C
Log message:
Change rbx to r10, since GCC doesn't like constraints on rbx any more.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/i686/yuv411_to_stuff_MMX_64.C?cvsroot=libcvd&r1=1.1&r2=1.2
Patches:
Index: yuv411_to_stuff_MMX_64.C
===================================================================
RCS file: /cvsroot/libcvd/libcvd/cvd_src/i686/yuv411_to_stuff_MMX_64.C,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- yuv411_to_stuff_MMX_64.C 13 Jun 2008 16:58:44 -0000 1.1
+++ yuv411_to_stuff_MMX_64.C 17 Jun 2009 12:22:56 -0000 1.2
@@ -45,7 +45,7 @@
//Load out and in
"mov %0, %%rdi \n\t"
"mov %1, %%rsi \n\t"
- "mov %[luma], %%rbp \n\t"
+ "mov %[luma], %%r10 \n\t"
"push %[end] \n\t"
".Lfoo: \n\t"
@@ -103,9 +103,9 @@
#ifdef CVD_HAVE_SSE2
- "movnti %%eax, (%%rbp) \n\t"
+ "movnti %%eax, (%%r10) \n\t"
#else
- "mov %%eax, (%%rbp) \n\t"
+ "mov %%eax, (%%r10) \n\t"
#endif
/////////////////////////////////////////////////////////////
@@ -186,9 +186,9 @@
#ifdef CVD_HAVE_SSE2
- "movnti %%eax, 4(%%rbp) \n\t"
+ "movnti %%eax, 4(%%r10) \n\t"
#else
- "mov %%eax, 4(%%rbp) \n\t"
+ "mov %%eax, 4(%%r10) \n\t"
#endif
"pshufw $0x40, %%mm6, %%mm4 \n\t" //Create y2 y1 y1 y1
register mm1: 0x40 = 01 00 00 00
@@ -234,14 +234,14 @@
//Increment counters
"add $12, %%rsi \n\t"
"add $24, %%rdi \n\t"
- "add $8, %%rbp \n\t"
+ "add $8, %%r10 \n\t"
"cmp %%rsi, (%%rsp) \n\t" //in_end is on the top
of the stack
"jne .Lfoo \n\t"
"pop %%rax \n\t" //discard the
top
"emms \n\t" //End
mmx
:
: "m" (out), "m" (in), "g" (size), [luma] "m" (lum_out), [end] "m"
(in_end)
- : "eax", "ecx", "edx", "rdi", "rsi", "mm0", "mm1", "mm2",
"mm3", "mm4", "mm5", "mm6", "mm7", "rbp"
+ : "eax", "ecx", "edx", "rdi", "rsi", "mm0", "mm1", "mm2",
"mm3", "mm4", "mm5", "mm6", "mm7", "r10"
);
}
void yuv411_to_rgb(const unsigned char* in, int size, unsigned char* out)
@@ -457,7 +457,7 @@
// 0 1 2
:
: "m" (out), "m" (in), "g" (size)
- : "eax", "ecx", "edx", "rbx", "rdi", "rsi", "mm0", "mm1",
"mm2", "mm3", "mm4", "mm5", "rbp"
+ : "eax", "ecx", "edx", "rbx", "rdi", "rsi", "mm0", "mm1",
"mm2", "mm3", "mm4", "mm5", "r10"
);
}
@@ -501,7 +501,7 @@
"emms \n\t"
:
: "m" (out), "m" (in), "g" (size)
- : "rax", "rcx", "rdi", "rsi", "mm0", "mm1", "mm2", "rbp", "rbx"
);
+ : "rax", "rcx", "rdi", "rsi", "mm0", "mm1", "mm2", "r10", "rbx"
);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] libcvd/cvd_src/i686 yuv411_to_stuff_MMX_64.C,
Edward Rosten <=