fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / newlib / libc / machine / mn10300 / memcpy.S
blobda4a21e3050c29935204f687eefda87821f10a3c
1         .file "memcpy.S"
3         .section .text
4         .global _memcpy
5         .type    _memcpy,@function
6 _memcpy:
7         movm [d2,d3,a2,a3],(sp)
8         mov d0,d2
9         mov d1,a0
10         mov d2,a1
11         mov (28,sp),d1
12 #ifndef __OPTIMIZE_SIZE__
13         mov a0,d0
14         or d2,d0
15         btst 3,d0
16         bne .L37
17         cmp 15,d1
18         bls .L34
19 .L29:
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 .L33:
44         setlb
45         mov (a0),d0
46         mov d0,(a1)
47         inc4 a0
48         inc4 a1
49         add -4,d1
50         cmp 3,d1
51         lhi
52 #endif
53 .L37:
54         cmp 0,d1
55         beq .L36
56 .L38:
57         setlb
58         movbu (a0),d0
59         movbu d0,(a1)
60         inc a0
61         inc a1
62         sub 1,d1
63         lne
64 .L36:
65         mov d2,a0
66         ret [d2,d3,a2,a3],16
67 .Lfe1:
68         .size    _memcpy,.Lfe1-_memcpy