On Thu, Dec 07, 2017 at 12:21:03PM +0100, Richard Biener wrote: > > + if ( TREE_CODE (arg0) != INTEGER_CST)
Also watch formatting, the space after ( doesn't belong there. > > + return false; > > Is there a reason to not do this for non-constants? (even not for > float constants?) > You should probably double-check there is a LHS, folding runs before DCE. > > > + tree splat_value = build_int_cst (TREE_TYPE (TREE_TYPE (lhs)), > > + TREE_INT_CST_LOW (arg0)); tree splat_value = fold_convert (TREE_TYPE (TREE_TYPE (lhs)), arg0); ? TREE_INT_CST_LOW should not be used unless necessary, e.g. it can throw the upper bits of large constants, even if the type is wide. Jakub