]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/s390/ifunc-memmem.h
S390: Add arch13 memmem ifunc variant.
[thirdparty/glibc.git] / sysdeps / s390 / ifunc-memmem.h
index 5494c19e4c58f30563898e60b2d69a0e771597cc..6f2fb2b0abb3c11e3c49401f3806e0a1b382ca3b 100644 (file)
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #if defined USE_MULTIARCH && IS_IN (libc)              \
-  && ! defined HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT
+  && ! defined HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT
 # define HAVE_MEMMEM_IFUNC     1
 #else
 # define HAVE_MEMMEM_IFUNC     0
 # define HAVE_MEMMEM_IFUNC_AND_VX_SUPPORT 0
 #endif
 
-#if defined HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT
+#ifdef HAVE_S390_ARCH13_ASM_SUPPORT
+# define HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT HAVE_MEMMEM_IFUNC
+#else
+# define HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT 0
+#endif
+
+#if defined HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT
+# define MEMMEM_DEFAULT                MEMMEM_ARCH13
+# define HAVE_MEMMEM_C         0
+# define HAVE_MEMMEM_Z13       1
+# define MEMMEM_Z13_ONLY_USED_AS_FALLBACK 1
+# define HAVE_MEMMEM_ARCH13    1
+#elif defined HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT
 # define MEMMEM_DEFAULT                MEMMEM_Z13
 # define HAVE_MEMMEM_C         0
 # define HAVE_MEMMEM_Z13       1
+# define HAVE_MEMMEM_ARCH13    HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT
 #else
 # define MEMMEM_DEFAULT                MEMMEM_C
 # define HAVE_MEMMEM_C         1
 # define HAVE_MEMMEM_Z13       HAVE_MEMMEM_IFUNC_AND_VX_SUPPORT
+# define HAVE_MEMMEM_ARCH13    HAVE_MEMMEM_IFUNC_AND_ARCH13_SUPPORT
+#endif
+
+#ifndef MEMMEM_Z13_ONLY_USED_AS_FALLBACK
+# define MEMMEM_Z13_ONLY_USED_AS_FALLBACK 0
 #endif
 
 #if HAVE_MEMMEM_C
@@ -50,3 +68,9 @@
 #else
 # define MEMMEM_Z13            NULL
 #endif
+
+#if HAVE_MEMMEM_ARCH13
+# define MEMMEM_ARCH13         __memmem_arch13
+#else
+# define MEMMEM_ARCH13         NULL
+#endif