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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Though, note the combiner doesn't try to match that, nor with the
void
foo (unsigned char a, unsigned char b, unsigned char *c)
{
  *c = a >> b;
}
case, the final subreg is in some other instruction (e.g. the set of hard
register to it, or memory store) and combiner doesn't try to split i at the
point of the subreg but of the subreg operand.
Dunno what options we have, hand recognize in some machine specific pass, or a
new optab for that kind of thing, something else?

Reply via email to