aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJozef Lawrynowicz <jozef.l@mittosystems.com>2019-10-21 20:44:16 +0000
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>2019-10-21 20:44:16 +0000
commitc01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f (patch)
tree67258b14e427fcd02c3fd20a5555a32becd85329 /gcc
parentdebf1662d1f0cbe54198119f1a74baf46ad6a41a (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c3
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.
diff --git a/gcc/expr.c b/gcc/expr.c
index b54bf1d..476c686 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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);