about summary refs log tree commit diff
path: root/sysdeps/x86_64/strcmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86_64/strcmp.S')
-rw-r--r--sysdeps/x86_64/strcmp.S13
1 files changed, 11 insertions, 2 deletions
diff --git a/sysdeps/x86_64/strcmp.S b/sysdeps/x86_64/strcmp.S
index 19e54bd3a7..7c3cf87a42 100644
--- a/sysdeps/x86_64/strcmp.S
+++ b/sysdeps/x86_64/strcmp.S
@@ -1,4 +1,4 @@
-/* Highly optimized version for x86-64.
+/* strcmp dispatch for RTLD and non-multiarch build
    Copyright (C) 1999-2022 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -18,5 +18,14 @@
 
 /* Symbol = strcmp.  */
 
-#include "multiarch/strcmp-sse2.S"
+#define DEFAULT_IMPL_V1	"multiarch/strcmp-sse2.S"
+/* strcmp-sse2-unaligned.S is often faster than strcmp-sse42.S and
+   doesn't have the drawback of using the `pcmpstri` instruction
+   which can be very slow on some CPUs.  */
+#define DEFAULT_IMPL_V2	"multiarch/strcmp-sse2-unaligned.S"
+#define DEFAULT_IMPL_V3	"multiarch/strcmp-avx2.S"
+#define DEFAULT_IMPL_V4	"multiarch/strcmp-evex.S"
+
+#include "isa-default-impl.h"
+
 libc_hidden_builtin_def (strcmp)