http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56770
--- Comment #3 from David Edelsohn <dje at gcc dot gnu.org> 2013-03-29 18:11:54 UTC --- I tried -funroll-loops -fvariable-expansion-in-unroller. I did not see any additional benefit from -fvariable-expansion-in-unroller. Unrolling helped somewhat, the intermediate sum was computed in each loop iteration instead of sunk after the loop.