OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [arch/] [armnommu/] [lib/] [memfastset.S] - Blame information for rev 199

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
2
 * linux/arch/arm/lib/memfastset.S
3
 *
4
 * Copyright (C) 1995, 1996 Russell King
5
 */
6
 
7
#include 
8
                .text
9
@ Prototype: void memsetl (unsigned long *d, unsigned long c, size_t n);
10
 
11
                .global _memsetl,memsetl
12
 
13
memsetl:
14
_memsetl:       stmfd   sp!, {lr}
15
                cmp     r2, #16
16
                blt     Lmemfastsetlp
17
                mov     r3, r1
18
                mov     ip, r1
19
                mov     lr, r1
20
                subs    r2, r2, #32
21
                bmi     Lmemfastl32
22
Lmemfast32setlp:
23
                stmia   r0!, {r1, r3, ip, lr}
24
                stmia   r0!, {r1, r3, ip, lr}
25
                LOADREGS(eqfd, sp!, {pc})
26
                subs    r2, r2, #32
27
                bpl     Lmemfast32setlp
28
Lmemfastl32:    adds    r2, r2, #16
29
                bmi     Lmemfastl16
30
Lmemfast16setlp:
31
                stmia   r0!, {r1, r3, ip, lr}
32
                LOADREGS(eqfd, sp!, {pc})
33
                subs    r2, r2, #16
34
                bpl     Lmemfast16setlp
35
Lmemfastl16:    add     r2, r2, #16
36
Lmemfastsetlp:  subs    r2, r2, #4
37
                strge   r1, [r0], #4
38
                bgt     Lmemfastsetlp
39
                LOADREGS(fd, sp!, {pc})

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.