fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / newlib / libc / machine / mn10300 / memchr.S
blob4a808f9c6564a1c1f016ccaa9075d0b1d70951ff
1         .file "memchr.S"
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