[Bug target/94567] [10 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 16 12:30:00 GMT 2020


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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 48288
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48288&action=edit
gcc10-pr94567.patch

So perhaps this?  In the condition exclude cases where we can't widen the
problematic cases (and, as I figured out today, we can't widen if val is a MEM
because we may not read from memory more than was read originally and also
paradoxical subregs of MEM which are accepted as register_operand before reload
could be problematic) and during splitting ensure we don't narrow if we
couldn't widen again and widen if possible?


More information about the Gcc-bugs mailing list