https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68330
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Mon Nov 16 15:51:33 2015 New Revision: 230429 URL: https://gcc.gnu.org/viewcvs?rev=230429&root=gcc&view=rev Log: 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 <seg...@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. Modified: trunk/gcc/ChangeLog trunk/gcc/simplify-rtx.c