libcvd-members
[Top][All Lists]
Advanced

[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" 
  );
 }
 
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]