aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@mvista.com>2003-02-19 14:38:45 +0000
committerDaniel Jacobowitz <drow@gcc.gnu.org>2003-02-19 14:38:45 +0000
commit48a5f2fabb7e29cb733429e30928ae4a89e960cd (patch)
tree48731f2107a6ce3a518f75d46daa40a0bc6aca9b
parent9e889775d4a5e2593244a12d06e2f0243f134dff (diff)
downloadgcc-48a5f2fabb7e29cb733429e30928ae4a89e960cd.zip
gcc-48a5f2fabb7e29cb733429e30928ae4a89e960cd.tar.gz
gcc-48a5f2fabb7e29cb733429e30928ae4a89e960cd.tar.bz2
expr.c (expand_expr): Use gen_int_mode for the argument to gen_rtx_MULT.
* expr.c (expand_expr): Use gen_int_mode for the argument to gen_rtx_MULT. From-SVN: r63110
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07fe801..b73eac6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * expr.c (expand_expr): Use gen_int_mode for the argument
+ to gen_rtx_MULT.
+
Wed Feb 19 14:22:42 CET 2003 Jan Hubicka <jh@suse.cz>
* i386.md (cosxf2): Fix conditional.
diff --git a/gcc/expr.c b/gcc/expr.c
index 601c5e9..926f10e 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8089,6 +8089,8 @@ expand_expr (exp, target, tmode, modifier)
if (modifier == EXPAND_SUM && mode == ptr_mode
&& host_integerp (TREE_OPERAND (exp, 1), 0))
{
+ tree exp1 = TREE_OPERAND (exp, 1);
+
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode,
EXPAND_SUM);
@@ -8107,9 +8109,9 @@ expand_expr (exp, target, tmode, modifier)
if (GET_CODE (op0) != REG)
op0 = copy_to_mode_reg (mode, op0);
- return
- gen_rtx_MULT (mode, op0,
- GEN_INT (tree_low_cst (TREE_OPERAND (exp, 1), 0)));
+ return gen_rtx_MULT (mode, op0,
+ gen_int_mode (tree_low_cst (exp1, 0),
+ TYPE_MODE (TREE_TYPE (exp1))));
}
if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))