@@ -1,5 +1,8 @@
2015-05-26 Jeff Law <law@redhat.com>
+ * combine.c (find_split_point): Verify that the shift count is a
+ constant when choosing (plus (ashift ...)) as a split point.
+
* tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
No functional changes.
@@ -5157,7 +5157,8 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src)
worthless to try this split. */
if (!set_src
&& (GET_CODE (XEXP (x, 0)) == MULT
- || GET_CODE (XEXP (x, 0)) == ASHIFT))
+ || (GET_CODE (XEXP (x, 0)) == ASHIFT
+ && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT)))
return loc;
default: