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

--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the issue is we're both not doing enough and too much, the half way early
optimizations do confuse us later.  Another such opportunity would maybe
be:

   short unsigned int _950;
  _950 = BIT_FIELD_REF <_58, 16, 240>;
  _253 = (unsigned char) _950;

where this is the only use of _950.  It might be tempting to "optimize"
this into

  _253 = BIT_FIELD_REF <_58, 8, 240>;

forwprop does similar transforms for loads of complex and vector (though
the above is not a load but the transform would extend to loads as well).

Reply via email to