/* strcmp with SSE4.2
- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+ Copyright (C) 2010-2019 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef NOT_IN_libc
+#if IS_IN (libc)
#include <sysdep.h>
#include "asm-syntax.h"
# define STR1 8
# endif
# define STR2 STR1+4
-# define LOCALE 12 /* Loaded before the adjustement. */
+# define LOCALE 12 /* Loaded before the adjustment. */
# ifdef PIC
# define RETURN POP (%edi); POP (%ebx); ret; \
.p2align 4; CFI_PUSH (%ebx); CFI_PUSH (%edi)
# endif
# define STR2 STR1+4
# define CNT STR2+4
-# define LOCALE 16 /* Loaded before the adjustement. */
+# define LOCALE 16 /* Loaded before the adjustment. */
# ifdef PIC
# define RETURN POP (%edi); POP (REM); POP (%ebx); ret; \
.p2align 4; \
movl (%eax), %eax
# endif
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+ je L(ascii)
+ POP (%ebx)
+ jmp __strcasecmp_nonascii
+# else
jne __strcasecmp_nonascii
jmp L(ascii)
+# endif
END (__strcasecmp_sse4_2)
#endif
movl (%eax), %eax
# endif
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+ je L(ascii)
+ POP (%ebx)
+ jmp __strncasecmp_nonascii
+# else
jne __strncasecmp_nonascii
jmp L(ascii)
+# endif
END (__strncasecmp_sse4_2)
#endif