diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/i486/strcat.S | 42 | ||||
-rw-r--r-- | sysdeps/i386/i586/lshift.S | 34 | ||||
-rw-r--r-- | sysdeps/i386/i586/rshift.S | 6 | ||||
-rw-r--r-- | sysdeps/i386/i586/strchr.S | 40 | ||||
-rw-r--r-- | sysdeps/i386/i586/strlen.S | 40 | ||||
-rw-r--r-- | sysdeps/i386/memchr.S | 62 | ||||
-rw-r--r-- | sysdeps/i386/stpcpy.S | 40 | ||||
-rw-r--r-- | sysdeps/i386/stpncpy.S | 50 | ||||
-rw-r--r-- | sysdeps/i386/strchr.S | 44 | ||||
-rw-r--r-- | sysdeps/i386/strcspn.S | 44 | ||||
-rw-r--r-- | sysdeps/i386/strrchr.S | 44 | ||||
-rw-r--r-- | sysdeps/i386/strspn.S | 44 |
12 files changed, 244 insertions, 246 deletions
diff --git a/sysdeps/i386/i486/strcat.S b/sysdeps/i386/i486/strcat.S index f705f420c4..9bac145ad4 100644 --- a/sysdeps/i386/i486/strcat.S +++ b/sysdeps/i386/i486/strcat.S @@ -1,24 +1,24 @@ /* strcat(dest, src) -- Append SRC on the end of DEST. -For Intel 80x86, x>=4. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>. -Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -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>=4. + Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>. + Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + 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" @@ -82,7 +82,7 @@ L1: movl (%edx), %eax /* 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 L3 /* We are only interested in carry bits that change due to the diff --git a/sysdeps/i386/i586/lshift.S b/sysdeps/i386/i586/lshift.S index b298983563..bf9b223a0b 100644 --- a/sysdeps/i386/i586/lshift.S +++ b/sysdeps/i386/i586/lshift.S @@ -1,23 +1,21 @@ -/* Pentium optimized __mpn_lshift -- +/* Pentium optimized __mpn_lshift -- + Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. -Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. + 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. -This file is part of the GNU MP Library. + 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. -The GNU MP 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 MP 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 MP 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. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP 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. */ /* INPUT PARAMETERS @@ -132,7 +130,7 @@ Lend2: shll %cl,%edx /* compute least significant limb */ ret /* We loop from least significant end of the arrays, which is only - permissable if the source and destination don't overlap, since the + permissible if the source and destination don't overlap, since the function is documented to work for overlapping source and destination. */ diff --git a/sysdeps/i386/i586/rshift.S b/sysdeps/i386/i586/rshift.S index 38398edb13..1860daf4d3 100644 --- a/sysdeps/i386/i586/rshift.S +++ b/sysdeps/i386/i586/rshift.S @@ -1,6 +1,6 @@ -/* Pentium optimized __mpn_rshift -- +/* Pentium optimized __mpn_rshift -- -Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -129,7 +129,7 @@ Lend2: shrl %cl,%edx /* compute most significant limb */ ret /* We loop from least significant end of the arrays, which is only - permissable if the source and destination don't overlap, since the + permissible if the source and destination don't overlap, since the function is documented to work for overlapping source and destination. */ diff --git a/sysdeps/i386/i586/strchr.S b/sysdeps/i386/i586/strchr.S index 1477350480..fda053216f 100644 --- a/sysdeps/i386/i586/strchr.S +++ b/sysdeps/i386/i586/strchr.S @@ -1,30 +1,30 @@ /* strchr -- find character CH in a NUL terminated string. -Highly optimized version for ix85, x>=5. -Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, <drepper@gnu.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. */ + Highly optimized version for ix85, x>=5. + Copyright (C) 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@gnu.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> /* This version is especially optimized for the i586 (and following?) processors. This is mainly done by using the two pipelines. The version optimized for i486 is weak in this aspect because to get - as much parallelism we have to executs some *more* instructions. + as much parallelism we have to execute some *more* instructions. The code below is structured to reflect the pairing of the instructions as *I think* it is. I have no processor data book to verify this. diff --git a/sysdeps/i386/i586/strlen.S b/sysdeps/i386/i586/strlen.S index ba24981f3d..e8fb916812 100644 --- a/sysdeps/i386/i586/strlen.S +++ b/sysdeps/i386/i586/strlen.S @@ -1,30 +1,30 @@ /* strlen -- Compute length og NUL terminated string. -Highly optimized version for ix86, x>=5. -Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, <drepper@gnu.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. */ + Highly optimized version for ix86, x>=5. + Copyright (C) 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@gnu.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> /* This version is especially optimized for the i586 (and following?) processors. This is mainly done by using the two pipelines. The version optimized for i486 is weak in this aspect because to get - as much parallelism we have to executs some *more* instructions. + as much parallelism we have to execute some *more* instructions. The code below is structured to reflect the pairing of the instructions as *I think* it is. I have no processor data book to verify this. 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 diff --git a/sysdeps/i386/stpcpy.S b/sysdeps/i386/stpcpy.S index 9df0e33d41..73292ab0fb 100644 --- a/sysdeps/i386/stpcpy.S +++ b/sysdeps/i386/stpcpy.S @@ -1,24 +1,24 @@ /* stpcpy -- copy SRC to DEST returning the address of the terminating '\0' in DEST. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper (drepper@gnu.ai.mit.edu). -This file is part of the GNU C Library. - -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). + + 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. */ /* This function is defined neither in ANSI nor POSIX standards but is also not invented here. */ @@ -53,7 +53,7 @@ ENTRY (__stpcpy) .long 0x00000004 /* Four times unfolded loop with only one loop counter. This - is achieved by the use of index+base adressing mode. As the + is achieved by the use of index+base addressing mode. As the loop counter we use the destination address because this is also the result. */ L1: addl $4, %eax /* increment loop counter */ diff --git a/sysdeps/i386/stpncpy.S b/sysdeps/i386/stpncpy.S index b76f6170e5..96878fb79a 100644 --- a/sysdeps/i386/stpncpy.S +++ b/sysdeps/i386/stpncpy.S @@ -1,28 +1,28 @@ /* stpncpy -- copy no more then N bytes from SRC to DEST, returning the address of the terminating '\0' in DEST. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> - - original wrote n+1 chars in some cases. - - stpncpy() ought to behave like strncpy() ie. not null-terminate - if limited by n. glibc-1.09 stpncpy() does this. -This file is part of the GNU C Library. - -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> + Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + - original wrote n+1 chars in some cases. + - stpncpy() ought to behave like strncpy() ie. not null-terminate + if limited by n. glibc-1.09 stpncpy() does this. + + 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" @@ -51,7 +51,7 @@ ENTRY (__stpncpy) /* Four times unfolded loop with two loop counters. We get the the third value (the source address) by using the index+base - adressing mode. */ + addressing mode. */ L2: movb (%eax,%esi), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ @@ -128,7 +128,7 @@ L7: jz L9 /* counter is also 0 => exit */ /* We now have to fill the rest of the buffer with NUL. This - is done in a tricky way. Please note that the adressing mode + is done in a tricky way. Please note that the addressing mode used below is not the same we used above. Here we use the %ecx register. */ L8: diff --git a/sysdeps/i386/strchr.S b/sysdeps/i386/strchr.S index 1c91c40090..e4e5c55572 100644 --- a/sysdeps/i386/strchr.S +++ b/sysdeps/i386/strchr.S @@ -1,24 +1,24 @@ /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -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> + Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + 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" @@ -53,7 +53,7 @@ ENTRY (strchr) we don't know the end of the string. But accessing at 4-byte alignment guarantees that we never access illegal memory if this would not also be done by the trivial - implementation (this is because all processor inherant + implementation (this is because all processor inherent boundaries are multiples of 4. */ testb $3, %eax /* correctly aligned ? */ @@ -131,7 +131,7 @@ L11: 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 L7 /* We are only interested in carry bits that change due to the diff --git a/sysdeps/i386/strcspn.S b/sysdeps/i386/strcspn.S index 387d4aea95..47b157a2eb 100644 --- a/sysdeps/i386/strcspn.S +++ b/sysdeps/i386/strcspn.S @@ -1,25 +1,25 @@ -/* strcspn (str, ss) -- Return the length of the initial segement of STR +/* strcspn (str, ss) -- Return the length of the initial segment of STR which contains no characters from SS. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -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> + Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + 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" @@ -142,7 +142,7 @@ L1: leal -4(%edx), %eax /* prepare loop */ 1. a character in the stopset was found and 2. the end of the string was found - But as a sign that the chracter is in the stopset we store its + But as a sign that the character is in the stopset we store its value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ diff --git a/sysdeps/i386/strrchr.S b/sysdeps/i386/strrchr.S index f47bf94730..3786d3f690 100644 --- a/sysdeps/i386/strrchr.S +++ b/sysdeps/i386/strrchr.S @@ -1,24 +1,24 @@ /* strrchr (str, ch) -- Return pointer to last occurrence of CH in STR. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -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> + Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + 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" @@ -55,7 +55,7 @@ ENTRY (strrchr) we don't know the end of the string. But accessing at 4-byte alignment guarantees that we never access illegal memory if this would not also be done by the trivial - implementation (this is because all processor inherant + implementation (this is because all processor inherent boundaries are multiples of 4. */ testl $3, %esi /* correctly aligned ? */ @@ -178,7 +178,7 @@ L19: movl (%esi), %edx /* 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 L20 /* found NUL => check last word */ diff --git a/sysdeps/i386/strspn.S b/sysdeps/i386/strspn.S index 508aa7fd84..72e0e7d41a 100644 --- a/sysdeps/i386/strspn.S +++ b/sysdeps/i386/strspn.S @@ -1,25 +1,25 @@ -/* strcspn (str, ss) -- Return the length of the initial segement of STR +/* strcspn (str, ss) -- Return the length of the initial segment of STR which contains only characters from SS. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> -Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> -This file is part of the GNU C Library. - -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> + Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> + + 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" @@ -142,7 +142,7 @@ L1: leal -4(%edx), %eax /* prepare loop */ 1. a character in the stopset was found and 2. the end of the string was found - But as a sign that the chracter is in the stopset we store its + But as a sign that the character is in the stopset we store its value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ |