http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57915
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with r192719 aka LRA merge. extern struct T { char a[8]; char b[16]; } t; int c; void foo (void); extern inline char * baz (char *x, const char *y) { const char *e = y; unsigned long f, g; asm ("repne scasb" : "+c" (f), "+D" (e) : "a" ('\0'), "X" (*e)); g = e - 1 - y; __builtin_memcpy (x, y, g); x[g] = '\0'; return x; } void bar (void) { char d[16]; baz (d, t.b); for (;;) { foo (); if (c) baz (d, t.b); } }