From: rguenth Date: Mon, 9 Jul 2007 19:41:54 +0000 (+0000) Subject: 2007-07-09 Richard Guenther X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=efd4cd99a429aac82f7bac08f0756dab535a2581;p=pf3gnuchains%2Fgcc-fork.git 2007-07-09 Richard Guenther PR middle-end/32698 * fold-const.c (fold_plusminus_mult_expr): Move constant arguments second to allow decomposing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126494 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b3152b9cb7..802135b82c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-07-09 Richard Guenther + + PR middle-end/32698 + * fold-const.c (fold_plusminus_mult_expr): Move constant + arguments second to allow decomposing. + 2007-07-09 Alexandre Oliva Revert: diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e69945fcba4..652fd177fba 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -7122,6 +7122,11 @@ fold_plusminus_mult_expr (enum tree_code code, tree type, tree arg0, tree arg1) arg00 = TREE_OPERAND (arg0, 0); arg01 = TREE_OPERAND (arg0, 1); } + else if (TREE_CODE (arg0) == INTEGER_CST) + { + arg00 = build_one_cst (type); + arg01 = arg0; + } else { arg00 = arg0; @@ -7132,6 +7137,11 @@ fold_plusminus_mult_expr (enum tree_code code, tree type, tree arg0, tree arg1) arg10 = TREE_OPERAND (arg1, 0); arg11 = TREE_OPERAND (arg1, 1); } + else if (TREE_CODE (arg1) == INTEGER_CST) + { + arg10 = build_one_cst (type); + arg11 = arg1; + } else { arg10 = arg1;