http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47298

--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-07-05 
08:48:24 UTC ---
> It's a pass ordering issue, cunrolli also can tremendously help vectorization
> because it enables vectorization of the loop that is then the innermost loop
> after unrolling.  It also helps exposing redunancies as you can trivially
> see in SPEC CPU 2006 calculix (gfortran.dg/reassoc_4.f).

Sure, no disagreement here.  But we have cases where the outer loop is
trivially not vectorizable because of CFG contructs and cunrolli kills the
vectorization for the 32 innermost loops...

Possible stopgap measures are a switch to disable cunrolli or a "no vectorize"
pragma on the outer loop to thwart it.

Reply via email to