https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
--- Comment #6 from amker at gcc dot gnu.org ---
BTW, I don't see problem in iv_elimination for the second loop, the .L7 one.
It eliminates three IVs into one IV. Well, the bloated loop header could be
further simplified, but it's another issue
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
--- Comment #5 from amker at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
> It is induction variable optimization (-fivopts) that re-writes the main
> induction variable. We have
>
> Original cost 17 (complexity 2)
>
> Final
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
--- Comment #4 from Petr ---
I think the test-case can be simplified to the following code. It still suffers
from the same issues as mentioned above.
#include
#if defined(_MSC_VER)
# include
#else
# include
#endif
void transform(double* dst
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
--- Comment #3 from Petr ---
Sorry for misunderstanding, I really read initially that you replaced the exit
condition in the sample code :)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
--- Comment #2 from Petr ---
I'm not sure I follow with the exit test. I mean the code should be correct as
each point has x|y coord, which is two doubles, so length 8 means 16 doubles (I
converted from my production code into a simpler form that
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79830
Richard Biener changed:
What|Removed |Added
Keywords||missed-optimization
Status|