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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [machine/] [i386/] [memset.S] - Blame information for rev 1773

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

Line No. Rev Author Line
1 1008 ivang
/*
2
 * ====================================================
3
 * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
4
 *
5
 * Permission to use, copy, modify, and distribute this
6
 * software is freely granted, provided that this notice
7
 * is preserved.
8
 * ====================================================
9
 */
10
 
11
        #include "i386mach.h"
12
 
13
        .global SYM (memset)
14
       SOTYPE_FUNCTION(memset)
15
 
16
SYM (memset):
17
 
18
        pushl ebp
19
        movl esp,ebp
20
        pushl edi
21
        pushl ebx
22
        movl 8(ebp),edi
23
        movl 12(ebp),eax
24
        movl 16(ebp),ecx
25
        cld
26
 
27
#ifndef __OPTIMIZE_SIZE__
28
        andl $255,eax
29
        movl ecx,ebx
30
        testl $3,edi
31
        jne .L19
32
        cmpl $16,ecx
33
        jbe .L19
34
 
35
        movl eax,edx
36
        sall $8,eax
37
        orl edx,eax
38
 
39
        movl eax,edx
40
        sall $16,edx
41
        orl edx,eax
42
 
43
        shrl $2,ecx
44
        andl $3,ebx
45
        rep
46
        stosl
47
        movl ebx,ecx
48
#endif /* not __OPTIMIZE_SIZE__ */
49
 
50
.L19:
51
        rep
52
        stosb
53
 
54
        movl 8(ebp),eax
55
 
56
        leal -8(ebp),esp
57
        popl ebx
58
        popl edi
59
        leave
60
        ret

powered by: WebSVN 2.1.0

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