/* Enumerate available IFUNC implementations of a function. s390/s390x version.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2017 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#include <assert.h>
#include <string.h>
+#include <wchar.h>
#include <ifunc-impl-list.h>
#include <ifunc-resolve.h>
S390_IS_Z10 (stfle_bits), __memcpy_z10)
IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_default))
+ IFUNC_IMPL (i, name, mempcpy,
+ IFUNC_IMPL_ADD (array, i, mempcpy,
+ S390_IS_Z196 (stfle_bits), ____mempcpy_z196)
+ IFUNC_IMPL_ADD (array, i, mempcpy,
+ S390_IS_Z10 (stfle_bits), ____mempcpy_z10)
+ IFUNC_IMPL_ADD (array, i, mempcpy, 1, ____mempcpy_default))
+
#endif /* SHARED */
+#ifdef HAVE_S390_VX_ASM_SUPPORT
+
+# define IFUNC_VX_IMPL(FUNC) \
+ IFUNC_IMPL (i, name, FUNC, \
+ IFUNC_IMPL_ADD (array, i, FUNC, dl_hwcap & HWCAP_S390_VX, \
+ __##FUNC##_vx) \
+ IFUNC_IMPL_ADD (array, i, FUNC, 1, __##FUNC##_c))
+
+ IFUNC_VX_IMPL (strlen);
+ IFUNC_VX_IMPL (wcslen);
+
+ IFUNC_VX_IMPL (strnlen);
+ IFUNC_VX_IMPL (wcsnlen);
+
+ IFUNC_VX_IMPL (strcpy);
+ IFUNC_VX_IMPL (wcscpy);
+
+ IFUNC_VX_IMPL (stpcpy);
+ IFUNC_VX_IMPL (wcpcpy);
+
+ IFUNC_VX_IMPL (strncpy);
+ IFUNC_VX_IMPL (wcsncpy);
+
+ IFUNC_VX_IMPL (stpncpy);
+ IFUNC_VX_IMPL (wcpncpy);
+
+ IFUNC_VX_IMPL (strcat);
+ IFUNC_VX_IMPL (wcscat);
+
+ IFUNC_VX_IMPL (strncat);
+ IFUNC_VX_IMPL (wcsncat);
+
+ IFUNC_VX_IMPL (strcmp);
+ IFUNC_VX_IMPL (wcscmp);
+
+ IFUNC_VX_IMPL (strncmp);
+ IFUNC_VX_IMPL (wcsncmp);
+
+ IFUNC_VX_IMPL (strchr);
+ IFUNC_VX_IMPL (wcschr);
+
+ IFUNC_VX_IMPL (strchrnul);
+ IFUNC_VX_IMPL (wcschrnul);
+
+ IFUNC_VX_IMPL (strrchr);
+ IFUNC_VX_IMPL (wcsrchr);
+
+ IFUNC_VX_IMPL (strspn);
+ IFUNC_VX_IMPL (wcsspn);
+
+ IFUNC_VX_IMPL (strpbrk);
+ IFUNC_VX_IMPL (wcspbrk);
+
+ IFUNC_VX_IMPL (strcspn);
+ IFUNC_VX_IMPL (wcscspn);
+
+ IFUNC_VX_IMPL (memchr);
+ IFUNC_VX_IMPL (wmemchr);
+ IFUNC_VX_IMPL (rawmemchr);
+
+ IFUNC_VX_IMPL (memccpy);
+
+ IFUNC_VX_IMPL (wmemset);
+
+ IFUNC_VX_IMPL (wmemcmp);
+
+ IFUNC_VX_IMPL (memrchr);
+
+#endif /* HAVE_S390_VX_ASM_SUPPORT */
+
return i;
}