This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/80791] [8 regression] test case gcc.dg/sms-1.c fail2 starting with r247885


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]