[Bug middle-end/49969] New: not vectorized: data ref analysis failed

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 3 17:24:00 GMT 2011


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

           Summary: not vectorized: data ref analysis failed
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: irar@gcc.gnu.org, rguenther@suse.de


The following program does not vectorize. With Intel's ifort one gets the
message:

  PERMUTED LOOP WAS VECTORIZED

while GCC just prints:

test.f90:6: note: not vectorized: data ref analysis failed D.1566_33 =
*iz_32(D)[D.1565_31];

test.f90:7: note: not vectorized: data ref analysis failed D.1566_33 =
*iz_32(D)[D.1565_31];

test.f90:2: note: vectorized 0 loops in function.


In case of GCC, it does not depend on the loop order - permuting does not
change anything. Also it is independent of the patch to PR 49957.


! From Polyhedron's ac.f90, line 746
      SUBROUTINE SUSCEP(L,Iz,Dsus)
      INTEGER L , Iz(L,L) , iznum
      DOUBLE PRECISION Dsus
      iznum = 0
      DO iy = 1 , L
        DO ix = 1 , L
          iznum = iznum + Iz(iy,ix)
        ENDDO
      ENDDO
      Dsus = DBLE(iznum)
      Dsus = Dsus*Dsus
      Dsus = Dsus/(L*L)
      END



More information about the Gcc-bugs mailing list