Hi Richard, your patch fails here; I get the build failure:
/projects/tob/gcc-git/gcc/gcc/tree-ssa-math-opts.c: In function ‘bool is_widening_mult_rhs_p(tree, tree, tree_node**, tree_node**)’: /projects/tob/gcc-git/gcc/gcc/tree-ssa-math-opts.c:2014:18: error: variable ‘rhs_code’ set but not used [-Werror=unused-but-set-variable]
enum tree_code rhs_code; ^ Tobias On 08/17/2012 07:05 PM, Richard Earnshaw wrote:
--- tree-ssa-math-opts.c (revision 190502) +++ tree-ssa-math-opts.c (local)
@@ -1982,9 +2019,7 @@ is_widening_mult_rhs_p (tree type, tree if (is_gimple_assign (stmt)) { rhs_code = gimple_assign_rhs_code (stmt); - if (TREE_CODE (type) == INTEGER_TYPE - ? !CONVERT_EXPR_CODE_P (rhs_code) - : rhs_code != FIXED_CONVERT_EXPR) + if (! widening_mult_conversion_strippable_p (type, stmt)) rhs1 = rhs; else {