https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114120

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-02-27
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think I've seen a duplicate for this.  We lack a pass replacing an IV
(a PHI) based on how that is used outside of the loop.  Basically we fail
to treat PHIs transparently when folding conversions.  This _might_ be sth
for IVCANON since I think it doesn't really fit any other pass.

It also came up in the context of 

int f (unsigned *src)
{
  int sum = 0;
  for (int y = 0; y < 8; y++)
        {
                sum += src[y];
        }
  return sum;
}

which we handle fine in vectorization but still the reduction could be
done in 'unsigned' all the way through (and that conversion handling in
the vectorizer reduction code is somewhat ugly).

Reply via email to