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/expr.c | |
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/expr.c')
-rw-r--r-- | gcc/expr.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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); |