source: trunk/libs/newlib/src/newlib/libc/machine/mn10300/memset.S @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.8 KB
Line 
1        .file "memset.S"
2
3        .section .text
4        .global  _memset
5        .type    _memset,@function
6_memset:
7        movm  [d2,d3,a2,a3], (sp)
8.Lend_of_prologue:
9        mov   d0, d3
10        mov   d1, d2
11        mov   (28, sp),a1
12        mov   d3, a0
13#ifndef __OPTIMIZE_SIZE__
14        cmp   3, a1
15        bls   .L41
16        btst  3, d3
17        bne   .L41
18        extbu d2
19        mov   d2, d1
20        asl   8, d1
21        or    d2, d1
22        mov   d1, d0
23        asl   16, d0
24        or    d0, d1
25        cmp   15, a1
26        bls   .L36
27        setlb
28        mov   d1, (a0)
29        inc4  a0
30        mov   d1, (a0)
31        inc4  a0
32        mov   d1, (a0)
33        inc4  a0
34        mov   d1, (a0)
35        inc4  a0
36        add  -16, a1
37        cmp   15, a1
38        lhi
39.L36:
40        cmp   3, a1
41        bls   .L41
42        setlb
43        mov   d1, (a0)
44        inc4  a0
45        add   -4, a1
46        cmp   3, a1
47        lhi
48.L41:
49#endif
50        cmp   0, a1
51        beq   .Lepilogue
52        setlb
53        movbu d2, (a0)
54        inc   a0
55        sub   1, a1
56        lne
57.Lepilogue:
58        mov d3,a0
59        ret [d2,d3,a2,a3], 16
60.Lend_of_memset:
61        .size    _memset, .Lend_of_memset - _memset
62
63        .section        .debug_frame,"",@progbits
64.Lstart_of_debug_frame:
65        # Common Information Entry (CIE)
66        .4byte  .Lend_of_CIE - .Lstart_of_CIE   # CIE Length
67.Lstart_of_CIE:
68        .4byte   0xffffffff                     # CIE Identifier Tag
69        .byte    0x1                            # CIE Version
70        .ascii   "\0"                           # CIE Augmentation
71        .uleb128 0x1                            # CIE Code Alignment Factor
72        .sleb128 -4                             # CIE Data Alignment Factor
73        .byte    0x32                           # CIE RA Column
74        .byte    0xc                            # DW_CFA_def_cfa
75        .uleb128 0x9
76        .uleb128 0x0
77        .byte    0xb2                           # DW_CFA_offset, column 0x32
78        .uleb128 0x0
79        .align   2
80.Lend_of_CIE:
81       
82        # Frame Description Entry (FDE)
83        .4byte  .Lend_of_FDE - .Lstart_of_FDE   # FDE Length
84.Lstart_of_FDE:
85        .4byte   .Lstart_of_debug_frame         # FDE CIE offset
86        .4byte   _memset                        # FDE initial location
87        .4byte   .Lend_of_memset - _memset      # FDE address range
88        .byte    0x4                            # DW_CFA_advance_loc4
89        .4byte   .Lend_of_prologue - _memset
90        .byte    0xe                            # DW_CFA_def_cfa_offset
91        .uleb128 0x4
92        .byte    0x87                           # DW_CFA_offset, column 0x7
93        .uleb128 0x1
94        .align 2
95.Lend_of_FDE:
Note: See TracBrowser for help on using the repository browser.