[Bug bootstrap/78390] [7 Regression] Bootstrap failure: match.pd: cannot determine type of operand
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 23 14:34:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78390
--- Comment #28 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Wed Nov 23 14:33:13 2016
New Revision: 242757
URL: https://gcc.gnu.org/viewcvs?rev=242757&root=gcc&view=rev
Log:
combine: Convert subreg-of-lshiftrt to zero_extract properly (PR78390)
r242414, for PR77881, introduces some bugs (PR78390, PR78438, PR78477).
It all has the same root cause: that patch makes combine convert every
lowpart subreg of a logical shift right to a zero_extract. This cannot
work at all if it is not a constant shift, and it has to be a bit more
careful exactly which bits it extracts.
PR target/77881
PR bootstrap/78390
PR target/78438
PR bootstrap/78477
* combine.c (make_compound_operation_int): Do not convert a subreg of
a non-constant logical shift right to a zero_extract. Handle the case
where some zero bits have been shifted into the range covered by that
subreg.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
More information about the Gcc-bugs
mailing list