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

Reply via email to