https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81423
--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Wed Jul 19 19:31:26 2017 New Revision: 250365 URL: https://gcc.gnu.org/viewcvs?rev=250365&root=gcc&view=rev Log: combine: Fix for PR81423 We here have an AND of a SUBREG of an LSHIFTRT. If that SUBREG is paradoxical, the extraction we form is the length of the size of the inner mode, which includes some bits that should not be in the result. Just give up in that case. PR rtl-optimization/81423 * combine.c (make_compound_operation_int): Don't try to optimize the AND of a SUBREG of an LSHIFTRT if that SUBREG is paradoxical. Modified: trunk/gcc/ChangeLog trunk/gcc/combine.c