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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [machine/] [mn10300/] [memchr.S] - Blame information for rev 438

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

Line No. Rev Author Line
1 148 jeremybenn
        .file "memchr.S"
2
 
3
        .section .text
4
        .global _memchr
5
        .type    _memchr,@function
6
_memchr:
7
        movm [d2,d3,a2,a3],(sp)
8
.Lend_of_prologue:
9
        mov d0,a0
10
        mov d1,d2
11
        mov (28,sp),a1
12
#ifndef __OPTIMIZE_SIZE__
13
        cmp 3,a1
14
        bls .L44
15
        mov a0,d3
16
        btst 3,d3
17
        bne .L44
18
        mov a0,a2
19
        mov 0,a3
20
        clr d1
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
        setlb
44
        movbu (a0),d0
45
        cmp d2,d0
46
        beq .Lepilogue
47
        inc a0
48
        inc d1
49
        cmp 3,d1
50
        lls
51
.L34:
52
        add -4,a1
53
        inc4 a2
54
        cmp 3,a1
55
        bhi .L33
56
.L48:
57
        mov a2,a0
58
.L44:
59
#endif
60
        cmp 0,a1
61
        beq .L50
62
        setlb
63
        movbu (a0),d0
64
        cmp d2,d0
65
        beq .Lepilogue
66
        inc a0
67
        sub 1,a1
68
        lne
69
.L50:
70
        mov 0,a0
71
.Lepilogue:
72
        ret [d2,d3,a2,a3],16
73
.Lend_of_memchr:
74
        .size    _memchr, .Lend_of_memchr - _memchr
75
 
76
        .section        .debug_frame,"",@progbits
77
.Lstart_of_debug_frame:
78
        # Common Information Entry (CIE)
79
        .4byte  .Lend_of_CIE - .Lstart_of_CIE   # CIE Length
80
.Lstart_of_CIE:
81
        .4byte   0xffffffff                     # CIE Identifier Tag
82
        .byte    0x1                            # CIE Version
83
        .ascii   "\0"                           # CIE Augmentation
84
        .uleb128 0x1                            # CIE Code Alignment Factor
85
        .sleb128 -4                             # CIE Data Alignment Factor
86
        .byte    0x32                           # CIE RA Column
87
        .byte    0xc                            # DW_CFA_def_cfa
88
        .uleb128 0x9
89
        .uleb128 0x0
90
        .byte    0xb2                           # DW_CFA_offset, column 0x32
91
        .uleb128 0x0
92
        .align   2
93
.Lend_of_CIE:
94
 
95
        # Frame Description Entry (FDE)
96
        .4byte  .Lend_of_FDE - .Lstart_of_FDE   # FDE Length
97
.Lstart_of_FDE:
98
        .4byte   .Lstart_of_debug_frame         # FDE CIE offset
99
        .4byte   _memchr                        # FDE initial location
100
        .4byte   .Lend_of_memchr - _memchr      # FDE address range
101
        .byte    0x4                            # DW_CFA_advance_loc4
102
        .4byte   .Lend_of_prologue - _memchr
103
        .byte    0xe                            # DW_CFA_def_cfa_offset
104
        .uleb128 0x4
105
        .byte    0x87                           # DW_CFA_offset, column 0x7
106
        .uleb128 0x1
107
        .align 2
108
.Lend_of_FDE:

powered by: WebSVN 2.1.0

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