This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/80791] [8 regression] test case gcc.dg/sms-1.c fail2 starting with r247885
- From: "wschmidt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 03 Apr 2018 14:17:47 +0000
- Subject: [Bug rtl-optimization/80791] [8 regression] test case gcc.dg/sms-1.c fail2 starting with r247885
- Auto-submitted: auto-generated
- References: <bug-80791-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80791
--- Comment #18 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
In the before case, it appears that later optimization is able to remove the
i_12 add by adjusting the loop counter. After ivopts:
i_12 = i_5 + 4;
ivtmp.10_17 = ivtmp.10_18 + 32;
Before SMS:
r174 = (SI)r164 + 32
r164 = zext(r174)
So in effect we have added the shift into the loop to remove an add that we are
able to later remove anyway. The two adds are related but the add and the
shift are not.