https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114088
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- GCC built-ins like __builtin_strlen just wrap a libc function. __builtin_wcslen would generally just be a call to wcslen, which doesn't give you much. I assume what you want is to recognize wcslen and replace it with inline assembly code. Similarly, if libc doesn't provide c16slen then a __builtin_c16slen isn't going to do much. I think what you want is better code for finding char16_t(0) or char32_t(0), not a new built-in.