patch-2.4.5 linux/arch/cris/lib/memset.c
Next file: linux/arch/cris/lib/string.c
Previous file: linux/arch/cris/lib/hw_settings.S
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Tue May 1 16:04:56 2001
- Orig file:
v2.4.4/linux/arch/cris/lib/memset.c
- Orig date:
Thu Feb 8 16:32:44 2001
diff -u --recursive --new-file v2.4.4/linux/arch/cris/lib/memset.c linux/arch/cris/lib/memset.c
@@ -27,6 +27,8 @@
/*# */
/*#-------------------------------------------------------------------------*/
+#include <linux/types.h>
+
/* No, there's no macro saying 12*4, since it is "hard" to get it into
the asm in a good way. Thus better to expose the problem everywhere.
*/
@@ -39,7 +41,7 @@
void *memset(void *pdst,
int c,
- unsigned int plen)
+ size_t plen)
{
/* Ok. Now we want the parameters put in special registers.
Make sure the compiler is able to make something useful of this. */
@@ -54,7 +56,12 @@
/* Ugh. This is fragile at best. Check with newer GCC releases, if
they compile cascaded "x |= x << 8" sanely! */
- __asm__("movu.b %0,r13\n\tlslq 8,r13\n\tmove.b %0,r13\n\tmove.d r13,%0\n\tlslq 16,r13\n\tor.d r13,%0"
+ __asm__("movu.b %0,r13\n\t"
+ "lslq 8,r13\n\t"
+ "move.b %0,r13\n\t"
+ "move.d r13,%0\n\t"
+ "lslq 16,r13\n\t"
+ "or.d r13,%0"
: "=r" (lc) : "0" (lc) : "r13");
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)