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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [machine/] [mn10300/] [memchr.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1008 ivang
        .file "memchr.S"
2
 
3
        .section .text
4
        .global _memchr
5
        .type    _memchr,@function
6
_memchr:
7
        movm [d2,d3,a2,a3],(sp)
8
        mov d0,a0
9
        mov d1,d2
10
        mov (28,sp),a1
11
#ifndef __OPTIMIZE_SIZE__
12
        cmp 3,a1
13
        bls .L44
14
        mov a0,d3
15
        btst 3,d3
16
        bne .L44
17
        mov a0,a2
18
        mov 0,a3
19
        clr d1
20
.L29:
21
        setlb
22
        mov a3,d0
23
        asl 8,d0
24
        mov d2,a3
25
        add d0,a3
26
        inc d1
27
        cmp 3,d1
28
        lls
29
        cmp 3,a1
30
        bls .L48
31
.L33:
32
        mov (a2),d0
33
        mov a3,d3
34
        xor d3,d0
35
        mov d0,d1
36
        not d1
37
        add -16843009,d0
38
        and d1,d0
39
        btst -2139062144,d0
40
        beq .L34
41
        mov a2,a0
42
        clr d1
43
.L38:
44
        setlb
45
        movbu (a0),d0
46
        cmp d2,d0
47
        beq .L47
48
        inc a0
49
        inc d1
50
        cmp 3,d1
51
        lls
52
.L34:
53
        add -4,a1
54
        inc4 a2
55
        cmp 3,a1
56
        bhi .L33
57
.L48:
58
        mov a2,a0
59
#endif
60
.L44:
61
        cmp 0,a1
62
        beq .L50
63
.L49:
64
        setlb
65
        movbu (a0),d0
66
        cmp d2,d0
67
        beq .L47
68
        inc a0
69
        sub 1,a1
70
        lne
71
.L50:
72
        mov 0,a0
73
.L47:
74
        ret [d2,d3,a2,a3],16
75
.Lfe1:
76
        .size    _memchr,.Lfe1-_memchr

powered by: WebSVN 2.1.0

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