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



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2013-01-16

     Ever Confirmed|0                           |1



--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-16 
10:04:27 UTC ---

In another bug I stated that



    while (1)

      {

...

        if (countm1.0 == 0) goto L.2;

        countm1.0 = countm1.0 + 4294967295;

      }

    L.2:;



is bad for the vectorizer (the non-empty latch block).  You instead

want GFortran to emit



    while (1)

      {

...

        tem = countm1.0

        countm1.0 = countm1.0 + 4294967295;

        if (tem == 0) goto L.2;

      }

    L.2:;



where hopefully the addition does not overflow ...



That said, somewhat lessening the restriction on empty latch blocks is

certainly possible (IV increments should be fine), but it might be not

as trivial as it looks.

Reply via email to