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