expr.c (expand_expr): Call convert_modes when turning a large multiply into a small one.

* expr.c (expand_expr): Call convert_modes when turning a large
multiply into a small one.

From-SVN: r35662
This commit is contained in:
Geoff Keating 2000-08-13 17:01:54 +00:00 committed by Geoffrey Keating
parent 458530ee83
commit 8c118062e3
2 changed files with 10 additions and 3 deletions

View File

@ -1,4 +1,9 @@
2000-05-13 Geoffrey Keating <geoffk@cygnus.com>
2000-08-13 Geoff Keating <geoffk@cygnus.com>
* expr.c (expand_expr): Call convert_modes when turning a large
multiply into a small one.
2000-08-12 Geoff Keating <geoffk@cygnus.com>
* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
the tree structure an exponent rather than an explicit alignment

View File

@ -7473,8 +7473,10 @@ expand_expr (exp, target, tmode, modifier)
op0 = expand_expr (TREE_OPERAND (TREE_OPERAND (exp, 0), 0),
NULL_RTX, VOIDmode, 0);
if (TREE_CODE (TREE_OPERAND (exp, 1)) == INTEGER_CST)
op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX,
VOIDmode, 0);
op1 = convert_modes (innermode, mode,
expand_expr (TREE_OPERAND (exp, 1),
NULL_RTX, VOIDmode, 0),
unsignedp);
else
op1 = expand_expr (TREE_OPERAND (TREE_OPERAND (exp, 1), 0),
NULL_RTX, VOIDmode, 0);