https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |10.2.1, 9.4.0 Summary|[9/10 Regression] memcmp |[9 Regression] memcmp being |being wrongly stripped like |wrongly stripped like |strcmp |strcmp Known to work| |10.3.0, 8.5.0 --- Comment #31 from Richard Biener <rguenth at gcc dot gnu.org> --- The original reported case doesn't affect GCC 9 it seems but the following does: int main() { char a[] = "\0abc"; volatile int res = __builtin_memcmp (a, "\0\0\0\0", 4); if (res == 0) __builtin_abort (); return 0; }