This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/57206] Auto-vectorization fails when array index is an unsigned int expression
- 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: Wed, 08 May 2013 13:22:27 +0000
- Subject: [Bug tree-optimization/57206] Auto-vectorization fails when array index is an unsigned int expression
- Auto-submitted: auto-generated
- References: <bug-57206-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57206
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-05-08
Blocks| |53947
Ever Confirmed|0 |1
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2013-05-08 13:22:27 UTC ---
That's because we cannot compute the evolution of _7
<bb 4>:
# n_14 = PHI <n_11(5), n_3(D)(3)>
_5 = n_3(D) - n_14;
_6 = (long unsigned int) _5;
_7 = _6 * 4;
_9 = d_8(D) + _7;
*_9 = 0.0;
(set_scalar_evolution
instantiated_below = 3
(scalar = _6)
(scalar_evolution = (long unsigned int) {0, +, 1}_1))
)
because 4 * (long unsigned int) {0, +, 1}_1 is not affine and we
fail to prove that _5 = n_3(D) - n_14; does not wrap.
All kind-of side-effects of us forcing the offset operand of POINTER_PLUS_EXPR
to be sizetype and to perform the array index * array element size computation
in that type.