[Bug c/67167] cilkplus vectorization problems
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Aug 11 08:57:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67167
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-08-11
CC| |kyukhin at gcc dot gnu.org
Depends on| |66502
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
t.c:28:13: note: === get_loop_niters ===
t.c:28:13: note: not vectorized: number of iterations cannot be computed.
t.c:28:13: note: bad loop form.
t.c:22:6: note: vectorized 0 loops in function.
Which is probably because the loop has two IVs and a combined exit test:
<bb 5>:
# _32 = PHI <0(4), _21(6)>
# _33 = PHI <0(4), _22(6)>
...
_21 = _32 + 1;
_22 = _33 + 1;
_25 = size_9(D) > _22;
_23 = size_9(D) > _21;
_24 = _23 & _25;
if (_24 != 0)
goto <bb 6>;
else
goto <bb 7>;
related to PR66502 (proposed patch helps and makes the testcase vectorized,
but as noted in the PR regresses another case).
Not sure if this can be reasonably addressed in Cilk+ lowering as well?
(generate a single IV)
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66502
[Bug 66502] SCCVN can't handle PHIs optimistically optimally
More information about the Gcc-bugs
mailing list