This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/82228] [8 Regression] 416.gamess in SPEC CPU 2006 failed to build
- From: "rsandifo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 16 Sep 2017 17:03:53 +0000
- Subject: [Bug tree-optimization/82228] [8 Regression] 416.gamess in SPEC CPU 2006 failed to build
- Auto-submitted: auto-generated
- References: <bug-82228-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82228
--- Comment #1 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
I think the problem is that I put the calculation too early. It should be
after the !STMT_VINFO_RELEVANT_P check instead.
The loop we're trying to vectorise is:
<bb 60> [0.93%] [count: INV]:
# ih_720 = PHI <_81(62), 1(59)>
_1610 = (integer(kind=8)) ih_720;
_1611 = _1610 + -1;
pretmp_1612 = IMAGPART_EXPR <*elem1_425(D)[_1611]>;
pretmp_1613 = REALPART_EXPR <*elem1_425(D)[_1611]>;
sl$real_356 = reciptmp_97 * pretmp_1608;
sl$imag_207 = reciptmp_97 * pretmp_1606;
_286 = reciptmp_97 * pretmp_1613;
_768 = reciptmp_97 * pretmp_1612;
REALPART_EXPR <*sl1_426(D)[_1611]> = _286;
IMAGPART_EXPR <*sl1_426(D)[_1611]> = _768;
_81 = ih_720 + 1;
if (_81 > _421)
goto <bb 61>; [15.00%] [count: INV]
else
goto <bb 62>; [85.00%] [count: INV]
where sl$real_356 and sl$imag_207 are not relevant (their inputs are defined
outside the loop and the only users are outside the loop).
I'll commit a patch to do that if it survives testing.