diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2003-03-14 05:31:28 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2003-03-14 05:31:28 +0000 |
commit | 5ace1393645876e733698cc05dac51a8bfbec965 (patch) | |
tree | e08cb7f2ca53b792474e54da13dd31e1bdc8a171 | |
parent | 1b12a2cb728fc49d2282a058c0b67b708186fb2b (diff) | |
download | glibc-5ace1393645876e733698cc05dac51a8bfbec965.tar.gz glibc-5ace1393645876e733698cc05dac51a8bfbec965.tar.xz glibc-5ace1393645876e733698cc05dac51a8bfbec965.zip |
* sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. * sysdeps/mips/memset.S: Likewise. * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 depending on the ABI.
* sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. * sysdeps/mips/memset.S: Likewise. * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 depending on the ABI. 2003-03-14 Alexandre Oliva <aoliva@redhat.com>
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/mips/memcpy.S | 13 | ||||
-rw-r--r-- | sysdeps/mips/memset.S | 7 | ||||
-rw-r--r-- | sysdeps/mips/sys/regdef.h | 9 |
4 files changed, 35 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 642c6ed11e..8479343256 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2003-03-14 Alexandre Oliva <aoliva@redhat.com> + * sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. + * sysdeps/mips/memset.S: Likewise. + * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 + depending on the ABI. + +2003-03-14 Alexandre Oliva <aoliva@redhat.com> + * sysdeps/mips/atomicity.h (exchange_and_add, atomic_add): Don't .set mips2 on new abi. (compare_and_swap): Likewise. Support 64-bit longs on n64. diff --git a/sysdeps/mips/memcpy.S b/sysdeps/mips/memcpy.S index 3d49ac976b..c77f1b8d97 100644 --- a/sysdeps/mips/memcpy.S +++ b/sysdeps/mips/memcpy.S @@ -40,6 +40,19 @@ # define SWLO swl /* low part is left in little-endian */ #endif +#ifndef t0 +# define t0 a4 +#endif +#ifndef t1 +# define t1 a5 +#endif +#ifndef t2 +# define t2 a6 +#endif +#ifndef t3 +# define t3 a7 +#endif + ENTRY (memcpy) .set noreorder diff --git a/sysdeps/mips/memset.S b/sysdeps/mips/memset.S index 7825dea880..46811340ec 100644 --- a/sysdeps/mips/memset.S +++ b/sysdeps/mips/memset.S @@ -34,6 +34,13 @@ # define SWHI swr /* high part is right in little-endian */ #endif +#ifndef t0 +# define t0 a4 +#endif +#ifndef t1 +# define t1 a5 +#endif + ENTRY (memset) .set noreorder diff --git a/sysdeps/mips/sys/regdef.h b/sysdeps/mips/sys/regdef.h index c4df603836..f3a0df5ab4 100644 --- a/sysdeps/mips/sys/regdef.h +++ b/sysdeps/mips/sys/regdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ralf Baechle <ralf@gnu.org>. @@ -31,10 +31,17 @@ #define a1 $5 #define a2 $6 #define a3 $7 +#if _MIPS_SIM != _MIPS_SIM_ABI32 +#define a4 $8 +#define a5 $9 +#define a6 $10 +#define a7 $11 +#else /* if _MIPS_SIM == _MIPS_SIM_ABI32 */ #define t0 $8 /* caller saved */ #define t1 $9 #define t2 $10 #define t3 $11 +#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ #define t4 $12 #define t5 $13 #define t6 $14 |