OSDN Git Service

* expr.c (expand_expr): Use gen_int_mode for the argument
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Feb 2003 14:38:45 +0000 (14:38 +0000)
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Feb 2003 14:38:45 +0000 (14:38 +0000)
to gen_rtx_MULT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63110 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 07fe801..b73eac6 100644 (file)
@@ -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.
index 601c5e9..926f10e 100644 (file)
@@ -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))