https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79552
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2017-02-16 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- <bb 2> [100.00%]: c.0_1 = (long unsigned int) c_3(D); __asm__("rep stosb" : "=D" a_6, "=c" n_7, "=m" MEM[(struct ._0 *)a_5(D) clique 1 base 0] : "a" 0, "0" a_5(D), "1" c.0_1); _2 = MEM[(char *)a_5(D) clique 1 base 1]; __asm__ __volatile__("xor %0, %0" : : "q" _2); so we have two different restrict bases here which is obviously wrong. I'll see why.