diff options
Diffstat (limited to 'libc/arch-x86/dynamic_function_dispatch.cpp')
-rw-r--r-- | libc/arch-x86/dynamic_function_dispatch.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libc/arch-x86/dynamic_function_dispatch.cpp b/libc/arch-x86/dynamic_function_dispatch.cpp index 70f4b3e70..370b37204 100644 --- a/libc/arch-x86/dynamic_function_dispatch.cpp +++ b/libc/arch-x86/dynamic_function_dispatch.cpp @@ -107,6 +107,13 @@ DEFINE_IFUNC_FOR(wmemcmp) { RETURN_FUNC(wmemcmp_func, wmemcmp_freebsd); } +typedef int wmemset_func(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n); +DEFINE_IFUNC_FOR(wmemset) { + __builtin_cpu_init(); + if (__builtin_cpu_supports("avx2")) RETURN_FUNC(wmemset_func, wmemset_avx2); + RETURN_FUNC(wmemset_func, wmemset_freebsd); +} + typedef int strcmp_func(const char* __lhs, const char* __rhs); DEFINE_IFUNC_FOR(strcmp) { __builtin_cpu_init(); |