From 48a5f2fabb7e29cb733429e30928ae4a89e960cd Mon Sep 17 00:00:00 2001
From: Daniel Jacobowitz <drow@mvista.com>
Date: Wed, 19 Feb 2003 14:38:45 +0000
Subject: [PATCH] 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
---
 gcc/ChangeLog | 5 +++++
 gcc/expr.c    | 8 +++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07fe801232d6..b73eac640788 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 601c5e991ab3..926f10e48862 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))
-- 
GitLab