https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67153

--- Comment #18 from ncm at cantrip dot org ---
It is far from clear to me that gcc-5's choice to put the increment value in a
register, and use just one loop body, is wrong. Rather, it appears that an
incidental choice in the placement order of basic blocks or register assignment
interacts badly with a bug in Haswell branch prediction, value dependency
tracking, micro-op cache, or something.  An actual fix for this would need to
identify and step around Haswell's sensititvity to whichever detail of code
generation this program happens upon.

Reply via email to