diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2019-10-21 20:44:16 +0000 |
---|---|---|
committer | Jozef Lawrynowicz <jozefl@gcc.gnu.org> | 2019-10-21 20:44:16 +0000 |
commit | c01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f (patch) | |
tree | 67258b14e427fcd02c3fd20a5555a32becd85329 | |
parent | debf1662d1f0cbe54198119f1a74baf46ad6a41a (diff) | |
download | gcc-c01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f.zip gcc-c01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f.tar.gz gcc-c01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f.tar.bz2 |
expr.c (expand_expr_real_2): Don't widen constant op1 when expanding widening multiplication.
2019-10-21 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* expr.c (expand_expr_real_2): Don't widen constant op1 when expanding
widening multiplication.
From-SVN: r277271
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5012177..2aa5536 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-10-21 Jozef Lawrynowicz <jozef.l@mittosystems.com> + + * expr.c (expand_expr_real_2): Don't widen constant op1 when expanding + widening multiplication. + 2019-10-21 Richard Earnshaw <rearnsha@arm.com> * config/arm/iterators.md (t2_binop0): Fix typo in comment. @@ -8954,9 +8954,6 @@ expand_expr_real_2 (sepops ops, rtx target, machine_mode tmode, != INTEGER_CST check. Handle it. */ if (GET_MODE (op0) == VOIDmode && GET_MODE (op1) == VOIDmode) goto widen_mult_const; - if (TREE_CODE (treeop1) == INTEGER_CST) - op1 = convert_modes (mode, word_mode, op1, - TYPE_UNSIGNED (TREE_TYPE (treeop1))); temp = expand_binop (mode, other_optab, op0, op1, target, unsignedp, OPTAB_LIB_WIDEN); hipart = gen_highpart (word_mode, temp); |