combine: Fix for PR81423
commit3d8f3c24d5940be74f42182b2a2cdd4268d890fd
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jul 2017 19:31:26 +0000 (19 19:31 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jul 2017 19:31:26 +0000 (19 19:31 +0000)
tree326944f75e8ff235797295ee34a283d240afdcde
parenta985718321a33b6c7fb151bced4a7929d02eccf4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250365 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c