patch-2.4.0-test2 linux/arch/ia64/lib/memset.S
Next file: linux/arch/ia64/lib/strlen.S
Previous file: linux/arch/ia64/lib/io.c
Back to the patch index
Back to the overall index
- Lines: 45
- Date:
Thu Jun 22 07:09:44 2000
- Orig file:
v2.4.0-test1/linux/arch/ia64/lib/memset.S
- Orig date:
Thu Feb 10 17:11:03 2000
diff -u --recursive --new-file v2.4.0-test1/linux/arch/ia64/lib/memset.S linux/arch/ia64/lib/memset.S
@@ -14,6 +14,7 @@
* Copyright (C) 1999 Stephane Eranian <eranian@hpl.hp.com>
*/
+#include <asm/asmmacro.h>
// arguments
//
@@ -28,22 +29,23 @@
#define cnt r18
#define buf2 r19
#define saved_lc r20
-#define saved_pr r21
-#define tmp r22
+#define tmp r21
.text
.psr abi64
.psr lsb
- .align 16
- .global memset
- .proc memset
-
-memset:
+GLOBAL_ENTRY(memset)
+ UNW(.prologue)
+ UNW(.save ar.pfs, saved_pfs)
alloc saved_pfs=ar.pfs,3,0,0,0 // cnt is sink here
cmp.eq p8,p0=r0,len // check for zero length
+ UNW(.save ar.lc, saved_lc)
mov saved_lc=ar.lc // preserve ar.lc (slow)
;;
+
+ UNW(.body)
+
adds tmp=-1,len // br.ctop is repeat/until
tbit.nz p6,p0=buf,0 // odd alignment
(p8) br.ret.spnt.few rp
@@ -108,4 +110,4 @@
;;
(p6) st1 [buf]=val // only 1 byte left
br.ret.dptk.few rp
- .endp
+END(memset)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)