diff options
Diffstat (limited to 'sysdeps/i386/memchr.S')
-rw-r--r-- | sysdeps/i386/memchr.S | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/sysdeps/i386/memchr.S b/sysdeps/i386/memchr.S index fcf873ebb8..f0fb3abe45 100644 --- a/sysdeps/i386/memchr.S +++ b/sysdeps/i386/memchr.S @@ -1,34 +1,34 @@ /* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less than N. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -This version is developed using the same algorithm as the fast C -version which carries the following introduction: - -Based on strlen implemention by Torbjorn Granlund (tege@sics.se), -with help from Dan Sahlin (dan@sics.se) and -commentary by Jim Blandy (jimb@ai.mit.edu); -adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), -and implemented by Roland McGrath (roland@ai.mit.edu). - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + For Intel 80x86, x>=3. + Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> + Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + This version is developed using the same algorithm as the fast C + version which carries the following introduction: + + Based on strlen implementation by Torbjorn Granlund (tege@sics.se), + with help from Dan Sahlin (dan@sics.se) and + commentary by Jim Blandy (jimb@ai.mit.edu); + adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), + and implemented by Roland McGrath (roland@ai.mit.edu). + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include <sysdep.h> #include "asm-syntax.h" @@ -140,7 +140,7 @@ L1: movl (%eax), %ecx /* get word (= 4 bytes) in question */ following XOR would destroy the carry flag and it would (in a representation with more than 32 bits) not alter then last overflow, we can now test this condition. If no carry is signaled - no overflow must have occured in the last byte => it was 0. */ + no overflow must have occurred in the last byte => it was 0. */ jnc L8 /* We are only interested in carry bits that change due to the @@ -307,7 +307,7 @@ L8: testb %cl, %cl /* test first byte in dword */ jz L9 /* if zero => return pointer */ incl %eax /* increment source pointer */ - /* No further test needed we we known it is one of the four byytes. */ + /* No further test needed we we know it is one of the four bytes. */ L9: popl %edi /* pop saved registers */ popl %esi |