fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / newlib / libc / machine / i386 / memchr.S
blobd29a0452142ab7ed7763f7f328d9e88b7a8ce9d6
1 /*
2  * ====================================================
3  * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and distribute this
6  * software is freely granted, provided that this notice
7  * is preserved.
8  * ====================================================
9  */
11         #include "i386mach.h"
12         
13         .global SYM (memchr)
14        SOTYPE_FUNCTION(memchr)
16 SYM (memchr):
17         pushl   ebp
18         movl    esp,ebp
19         pushl   edi
20         movl    12(ebp),eax
21         movl    16(ebp),ecx
22         movl    8(ebp),edi
24         xorl    edx,edx
25         testl   ecx,ecx
26         jz      L1
28         cld
29         repnz
30         scasb
32         setnz   dl
33         decl    edi
34         decl    edx
35         andl    edi,edx
36 L1:
37         movl    edx,eax
39         leal    -4(ebp),esp
40         popl    edi
41         leave
42         ret