simplify-rtx: Simplify sign_extend of lshiftrt to zero_extend (PR68330)
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 16 Nov 2015 15:51:33 +0000 (16:51 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 16 Nov 2015 15:51:33 +0000 (16:51 +0100)
commit7d006b0d3477fc9463edd970868107a5f98e5c57
tree6c7dc8b0f682801f705190ef1105fa30834b1e89
parent513ecaea6f71665e75458188d26432c627392cc0
simplify-rtx: Simplify sign_extend of lshiftrt to zero_extend (PR68330)

Since r230164, in PR68330 combine ends up with a sign_extend of an
lshiftrt by some constant, and it does not know to morph that into a
zero_extract (the extend will always extend with zeroes).  I think
it is best to let simplify-rtx always replace such a sign_extend by
a zero_extend, after which everything works as expected.

2015-11-15  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/68330
* simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
of LSHIFTRT by a non-zero constant integer.

From-SVN: r230429
gcc/ChangeLog
gcc/simplify-rtx.c