This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 16 Jul 2012 13:03:10 +0000
- Subject: [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
- Auto-submitted: auto-generated
- References: <bug-32375-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-16 13:03:10 UTC ---
The issue is that we have
<bb 5>:
# j_2 = PHI <2(4), j_30(10)>
pretmp.38_71 = (integer(kind=8)) j_2;
pretmp.38_72 = stride.2_6 * pretmp.38_71;
pretmp.38_73 = offset.3_8 + pretmp.38_72;
pretmp.39_75 = j_2 + -1;
pretmp.40_76 = (integer(kind=8)) pretmp.39_75;
pretmp.40_77 = stride.2_6 * pretmp.40_76;
pretmp.40_78 = offset.3_8 + pretmp.40_77;
<bb 6>:
# i_37 = PHI <i_29(7), 1(5)>
...
D.1940_22 = *aa_21(D)[D.1939_20];
*aa_21(D)[D.1934_14] = D.1950_28;
and data-dependence analysis sees
(analyze_overlapping_iterations
(chrec_a = {pretmp.40_78 + 1, +, 1}_2)
(chrec_b = {pretmp.38_73 + 1, +, 1}_2)
and
(analyze_overlapping_iterations
(chrec_a = {{(stride.2_6 + offset.3_8) + 1, +, stride.2_6}_1, +, 1}_2)
(chrec_b = {{(stride.2_6 * 2 + offset.3_8) + 1, +, stride.2_6}_1, +, 1}_2)