diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-03 17:39:24 -0700 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-03 17:39:24 -0700 |
commit | a6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch) | |
tree | ef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/machine/i386/memcmp.S | |
parent | f6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff) |
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
Diffstat (limited to 'newlib/libc/machine/i386/memcmp.S')
-rw-r--r-- | newlib/libc/machine/i386/memcmp.S | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/newlib/libc/machine/i386/memcmp.S b/newlib/libc/machine/i386/memcmp.S deleted file mode 100644 index 23419dd..0000000 --- a/newlib/libc/machine/i386/memcmp.S +++ /dev/null @@ -1,75 +0,0 @@ -/* - * ==================================================== - * Copyright (C) 1998 by Cygnus Solutions. All rights reserved. - * - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - - #include "i386mach.h" - - .global SYM (memcmp) - -SYM (memcmp): - - pushl ebp - movl esp,ebp - subl $16,esp - pushl ebx - pushl edi - pushl esi - movl 8(ebp),edi - movl 12(ebp),esi - movl 16(ebp),ecx - cld - -/* check if length is zero in which case just return 0 */ - - xorl eax,eax - testl ecx,ecx - jz L4 - -#ifndef __OPTIMIZE_SIZE__ - -/* if aligned on long boundary, compare doublewords at a time first */ - - movl edi,eax - orl esi,eax - testb $3,al - jne BYTECMP - movl ecx,ebx - shrl $2,ecx /* calculate number of long words to compare */ - repz - cmpsl - jz L5 - subl $4,esi - subl $4,edi - movl $4,ecx - jmp BYTECMP -L5: - andl $3,ebx /* calculate number of remaining bytes */ - movl ebx,ecx - -#endif /* not __OPTIMIZE_SIZE__ */ - -BYTECMP: /* compare any unaligned bytes or remainder bytes */ - repz - cmpsb - -/* set output to be < 0 if less than, 0 if equal, or > 0 if greater than */ -L3: - xorl edx,edx - movb -1(esi),dl - xorl eax,eax - movb -1(edi),al - subl edx,eax - -L4: - leal -28(ebp),esp - popl esi - popl edi - popl ebx - leave - ret |