https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88398
--- Comment #47 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- memcmp is using wider reading in glibc; strncmp does not use wider reading. memcmp is using "void *" as arguments, while strncmp is "char *".