http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47298
--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-05 10:10:28 UTC --- I have a few patches that try to estimate CSE opportunities exposed by complete unrolling. In this case the CSE opportunity is the reduction into C(i,j) (possibly also detected by store motion later). Adding a patch to enable disabling of cunrolli (and cunroll - which you also cannot disable) would be fine, but we should keep "unrolling" once rolling loops early at least. Note that we should still try to fix "(and are not good at seeing we run at most once there)" so we avoid messing up things here. In theory the vectorizer should be fully capable of vectorizing even the unrolled loop (in this particular case) via SLP or basic-block vectorization.