summaryrefslogtreecommitdiffstats
path: root/include/asm-mips
diff options
context:
space:
mode:
authorHarald Koerfgen <hkoerfg@web.de>1999-04-11 18:37:55 +0000
committerHarald Koerfgen <hkoerfg@web.de>1999-04-11 18:37:55 +0000
commitc811f36d113e3b6c07a4874415fa5c556db0d28d (patch)
tree8a90a495e043c94c526a80340c8a5f3cd029430e /include/asm-mips
parent24377993f15547b37b6337ad42f89cca3b7c6d52 (diff)
o Exported en/disable_irq
o fixed missing pseudo instruction in r6000_fpu.S o Bugfixes for string.h
Diffstat (limited to 'include/asm-mips')
-rw-r--r--include/asm-mips/string.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/include/asm-mips/string.h b/include/asm-mips/string.h
index 989ebd73e..2ca7e93e8 100644
--- a/include/asm-mips/string.h
+++ b/include/asm-mips/string.h
@@ -1,4 +1,4 @@
-/* $Id: string.h,v 1.6 1998/07/20 17:52:21 ralf Exp $
+/* $Id: string.h,v 1.9 1998/08/25 09:22:02 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -96,16 +96,16 @@ extern __inline__ int strncmp(__const__ char *__cs, __const__ char *__ct, size_t
__asm__ __volatile__(
".set\tnoreorder\n\t"
".set\tnoat\n"
- "1:\tlbu\t%3,(%0)\n\t"
+ "1:\tlbu\t%3,(%1)\n\t"
"beqz\t%2,2f\n\t"
- "lbu\t$1,(%1)\n\t"
- "subu\t%2,1\n\t"
- "bne\t$1,%3,3f\n\t"
+ "lbu\t$1,(%0)\n\t"
+ "addiu\t%1,1\n\t"
+ "subu\t%3,$1,%3\n\t"
+ "bnez\t%3,2f\n\t"
"addiu\t%0,1\n\t"
- "bnez\t%3,1b\n\t"
- "addiu\t%1,1\n"
- "2:\tmove\t%3,$1\n"
- "3:\tsubu\t%3,$1\n\t"
+ "bnez\t%1,1b\n"
+ "addiu\t%2,-1\n"
+ "2:\n\t"
".set\tat\n\t"
".set\treorder"
: "=r" (__cs), "=r" (__ct), "=r" (__count), "=r" (__res)
@@ -132,12 +132,14 @@ extern __inline__ void *memscan(void *__addr, int __c, size_t __size)
{
char *__end = (char *)__addr + __size;
- __asm__(".set\tnoat\n"
+ __asm__(".set\tpush\n\t"
+ ".set\tnoat\n\t"
+ ".set\treorder\n\t"
"1:\tbeq\t%0,%1,2f\n\t"
"addiu\t%0,1\n\t"
"lb\t$1,-1(%0)\n\t"
"bne\t$1,%4,1b\n"
- "2:\t.set\tat"
+ "2:\t.set\tpop"
: "=r" (__addr), "=r" (__end)
: "0" (__addr), "1" (__end), "r" (__c)
: "$1");