https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96758
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2020-08-24 Known to work| |9.3.0 CC| |jakub at gcc dot gnu.org, | |marxin at gcc dot gnu.org, | |msebor at gcc dot gnu.org Ever confirmed|0 |1 Keywords| |wrong-code Summary|strncmp miscompiles as |[10/11 Regression] strncmp |memcmp |miscompiles as memcmp since | |r10-3920-g27c14dbc6b01d5b7 Known to fail| |10.2.0, 11.0 Status|UNCONFIRMED |NEW Priority|P3 |P1 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Thank you for the report. It really started with r10-3920-g27c14dbc6b01d5b7. Slightly modified test-case: $ cat pr96758.c int main(int argc, char *argv[]) { const char *s = argc > 0 ? "a" : "b"; char x[5]; char y[5] = "a\0a"; __builtin_memcpy(x, y, sizeof(y)); if (__builtin_strncmp(x, s, 4) != 0) __builtin_abort (); return 0; }