diff options
author | Geoff Keating <geoffk@cygnus.com> | 2000-08-13 17:01:54 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2000-08-13 17:01:54 +0000 |
commit | 8c118062e37d36e8dee625706408e811c933ba91 (patch) | |
tree | c31c92688ef0d0f6c456eb3c3e5000d06419ed59 /gcc | |
parent | 458530ee838a511fa193acecd19b7732fd963b51 (diff) | |
download | gcc-8c118062e37d36e8dee625706408e811c933ba91.zip gcc-8c118062e37d36e8dee625706408e811c933ba91.tar.gz gcc-8c118062e37d36e8dee625706408e811c933ba91.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/expr.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc284f2..47a633d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 @@ -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); |