]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/lib/string_32.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / arch / x86 / lib / string_32.c
index 2c773fefa3ddad023fb16e21e90209b2cbeb507b..94972e7c094df3fbbb2030c21a5490f15f5a40ca 100644 (file)
 #include <linux/module.h>
 
 #ifdef __HAVE_ARCH_STRCPY
-char *strcpy(char * dest,const char *src)
+char *strcpy(char *dest, const char *src)
 {
        int d0, d1, d2;
-       asm volatile( "1:\tlodsb\n\t"
+       asm volatile("1:\tlodsb\n\t"
                "stosb\n\t"
                "testb %%al,%%al\n\t"
                "jne 1b"
                : "=&S" (d0), "=&D" (d1), "=&a" (d2)
-               :"0" (src),"1" (dest) : "memory");
+               :"0" (src), "1" (dest) : "memory");
        return dest;
 }
 EXPORT_SYMBOL(strcpy);
 #endif
 
 #ifdef __HAVE_ARCH_STRNCPY
-char *strncpy(char * dest,const char *src,size_t count)
+char *strncpy(char *dest, const char *src, size_t count)
 {
        int d0, d1, d2, d3;
-       asm volatile( "1:\tdecl %2\n\t"
+       asm volatile("1:\tdecl %2\n\t"
                "js 2f\n\t"
                "lodsb\n\t"
                "stosb\n\t"
@@ -42,17 +42,17 @@ char *strncpy(char * dest,const char *src,size_t count)
                "stosb\n"
                "2:"
                : "=&S" (d0), "=&D" (d1), "=&c" (d2), "=&a" (d3)
-               :"0" (src),"1" (dest),"2" (count) : "memory");
+               :"0" (src), "1" (dest), "2" (count) : "memory");
        return dest;
 }
 EXPORT_SYMBOL(strncpy);
 #endif
 
 #ifdef __HAVE_ARCH_STRCAT
-char *strcat(char * dest,const char * src)
+char *strcat(char *dest, const char *src)
 {
        int d0, d1, d2, d3;
-       asm volatile( "repne\n\t"
+       asm volatile("repne\n\t"
                "scasb\n\t"
                "decl %1\n"
                "1:\tlodsb\n\t"
@@ -67,10 +67,10 @@ EXPORT_SYMBOL(strcat);
 #endif
 
 #ifdef __HAVE_ARCH_STRNCAT
-char *strncat(char * dest,const char * src,size_t count)
+char *strncat(char *dest, const char *src, size_t count)
 {
        int d0, d1, d2, d3;
-       asm volatile( "repne\n\t"
+       asm volatile("repne\n\t"
                "scasb\n\t"
                "decl %1\n\t"
                "movl %8,%3\n"
@@ -83,7 +83,7 @@ char *strncat(char * dest,const char * src,size_t count)
                "2:\txorl %2,%2\n\t"
                "stosb"
                : "=&S" (d0), "=&D" (d1), "=&a" (d2), "=&c" (d3)
-               : "0" (src),"1" (dest),"2" (0),"3" (0xffffffffu), "g" (count)
+               : "0" (src), "1" (dest), "2" (0), "3" (0xffffffffu), "g" (count)
                : "memory");
        return dest;
 }
@@ -91,11 +91,11 @@ EXPORT_SYMBOL(strncat);
 #endif
 
 #ifdef __HAVE_ARCH_STRCMP
-int strcmp(const char * cs,const char * ct)
+int strcmp(const char *cs, const char *ct)
 {
        int d0, d1;
        int res;
-       asm volatile( "1:\tlodsb\n\t"
+       asm volatile("1:\tlodsb\n\t"
                "scasb\n\t"
                "jne 2f\n\t"
                "testb %%al,%%al\n\t"
@@ -106,7 +106,7 @@ int strcmp(const char * cs,const char * ct)
                "orb $1,%%al\n"
                "3:"
                :"=a" (res), "=&S" (d0), "=&D" (d1)
-               :"1" (cs),"2" (ct)
+               :"1" (cs), "2" (ct)
                :"memory");
        return res;
 }
@@ -114,11 +114,11 @@ EXPORT_SYMBOL(strcmp);
 #endif
 
 #ifdef __HAVE_ARCH_STRNCMP
-int strncmp(const char * cs,const char * ct,size_t count)
+int strncmp(const char *cs, const char *ct, size_t count)
 {
        int res;
        int d0, d1, d2;
-       asm volatile( "1:\tdecl %3\n\t"
+       asm volatile("1:\tdecl %3\n\t"
                "js 2f\n\t"
                "lodsb\n\t"
                "scasb\n\t"
@@ -131,7 +131,7 @@ int strncmp(const char * cs,const char * ct,size_t count)
                "orb $1,%%al\n"
                "4:"
                :"=a" (res), "=&S" (d0), "=&D" (d1), "=&c" (d2)
-               :"1" (cs),"2" (ct),"3" (count)
+               :"1" (cs), "2" (ct), "3" (count)
                :"memory");
        return res;
 }
@@ -139,11 +139,11 @@ EXPORT_SYMBOL(strncmp);
 #endif
 
 #ifdef __HAVE_ARCH_STRCHR
-char *strchr(const char * s, int c)
+char *strchr(const char *s, int c)
 {
        int d0;
-       char * res;
-       asm volatile( "movb %%al,%%ah\n"
+       char *res;
+       asm volatile("movb %%al,%%ah\n"
                "1:\tlodsb\n\t"
                "cmpb %%ah,%%al\n\t"
                "je 2f\n\t"
@@ -153,44 +153,24 @@ char *strchr(const char * s, int c)
                "2:\tmovl %1,%0\n\t"
                "decl %0"
                :"=a" (res), "=&S" (d0)
-               :"1" (s),"0" (c)
+               :"1" (s), "0" (c)
                :"memory");
        return res;
 }
 EXPORT_SYMBOL(strchr);
 #endif
 
-#ifdef __HAVE_ARCH_STRRCHR
-char *strrchr(const char * s, int c)
-{
-       int d0, d1;
-       char * res;
-       asm volatile( "movb %%al,%%ah\n"
-               "1:\tlodsb\n\t"
-               "cmpb %%ah,%%al\n\t"
-               "jne 2f\n\t"
-               "leal -1(%%esi),%0\n"
-               "2:\ttestb %%al,%%al\n\t"
-               "jne 1b"
-               :"=g" (res), "=&S" (d0), "=&a" (d1)
-               :"0" (0),"1" (s),"2" (c)
-               :"memory");
-       return res;
-}
-EXPORT_SYMBOL(strrchr);
-#endif
-
 #ifdef __HAVE_ARCH_STRLEN
-size_t strlen(const char * s)
+size_t strlen(const char *s)
 {
        int d0;
        int res;
-       asm volatile( "repne\n\t"
+       asm volatile("repne\n\t"
                "scasb\n\t"
                "notl %0\n\t"
                "decl %0"
                :"=c" (res), "=&D" (d0)
-               :"1" (s),"a" (0), "0" (0xffffffffu)
+               :"1" (s), "a" (0), "0" (0xffffffffu)
                :"memory");
        return res;
 }
@@ -198,19 +178,19 @@ EXPORT_SYMBOL(strlen);
 #endif
 
 #ifdef __HAVE_ARCH_MEMCHR
-void *memchr(const void *cs,int c,size_t count)
+void *memchr(const void *cs, int c, size_t count)
 {
        int d0;
        void *res;
        if (!count)
                return NULL;
-       asm volatile( "repne\n\t"
+       asm volatile("repne\n\t"
                "scasb\n\t"
                "je 1f\n\t"
                "movl $1,%0\n"
                "1:\tdecl %0"
                :"=D" (res), "=&c" (d0)
-               :"a" (c),"0" (cs),"1" (count)
+               :"a" (c), "0" (cs), "1" (count)
                :"memory");
        return res;
 }
@@ -218,7 +198,7 @@ EXPORT_SYMBOL(memchr);
 #endif
 
 #ifdef __HAVE_ARCH_MEMSCAN
-void *memscan(void * addr, int c, size_t size)
+void *memscan(void *addr, int c, size_t size)
 {
        if (!size)
                return addr;
@@ -239,7 +219,7 @@ size_t strnlen(const char *s, size_t count)
 {
        int d0;
        int res;
-       asm volatile( "movl %2,%0\n\t"
+       asm volatile("movl %2,%0\n\t"
                "jmp 2f\n"
                "1:\tcmpb $0,(%0)\n\t"
                "je 3f\n\t"
@@ -249,7 +229,7 @@ size_t strnlen(const char *s, size_t count)
                "jne 1b\n"
                "3:\tsubl %2,%0"
                :"=a" (res), "=&d" (d0)
-               :"c" (s),"1" (count)
+               :"c" (s), "1" (count)
                :"memory");
        return res;
 }