[Bug tree-optimization/37573] [4.4 Regression] gcc-4.4 regression: incorrect code generation with -O1 -ftree-vectorize

irar at il dot ibm dot com gcc-bugzilla@gcc.gnu.org
Sun Sep 21 07:56:00 GMT 2008



------- Comment #6 from irar at il dot ibm dot com  2008-09-21 07:54 -------
(In reply to comment #5)
> The data dependence on the previous loop is clearly not considered, the loop is
> vectorized as if c on the rhs and c on the lhs were different non-overlapping
> arrays.
>

The data dependence analysis returns chrec_known for that ddr (probably getting
confused by *&s.c[0] and *&s.c[1] base objects), so the vectorizer thinks they
are independent and vectorizes the loop.

*D.1659_13 
        base_address: &s.c[0]
        offset from base address: 0
        constant offset from base address: 0
        step: 4
        aligned to: 128
        base_object: *&s.c[0]
        symbol tag: SMT.62

*D.1655_9
        base_address: &s.c[1]
        offset from base address: 0
        constant offset from base address: 0
        step: 4
        aligned to: 128
        base_object: *&s.c[1]
        symbol tag: SMT.62
(compute_affine_dependence
  (stmt_a =
D.1660_14 = *D.1659_13;
)
  (stmt_b =
*D.1655_9 = D.1664_23;
)
)


-- 

irar at il dot ibm dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rakdver at gcc dot gnu dot
                   |                            |org


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



More information about the Gcc-bugs mailing list