combine: Fix for PR81423
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 19 Jul 2017 19:31:26 +0000 (21:31 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 19 Jul 2017 19:31:26 +0000 (21:31 +0200)
commit6cdcce60ff317b9a3feca930306194f110ed0171
tree326944f75e8ff235797295ee34a283d240afdcde
parenta6722e5bf26e4b795c005f259c68714c82c2ba31
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.

From-SVN: r250365
gcc/ChangeLog
gcc/combine.c