From: Jozef Lawrynowicz Date: Mon, 21 Oct 2019 20:44:16 +0000 (+0000) Subject: expr.c (expand_expr_real_2): Don't widen constant op1 when expanding widening multipl... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c01d9cfe840a1b9c5e6fa68f5af4fe321263bc7f;p=gcc.git expr.c (expand_expr_real_2): Don't widen constant op1 when expanding widening multiplication. 2019-10-21 Jozef Lawrynowicz * expr.c (expand_expr_real_2): Don't widen constant op1 when expanding widening multiplication. From-SVN: r277271 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50121777940..2aa5536cf32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-10-21 Jozef Lawrynowicz + + * expr.c (expand_expr_real_2): Don't widen constant op1 when expanding + widening multiplication. + 2019-10-21 Richard Earnshaw * config/arm/iterators.md (t2_binop0): Fix typo in comment. diff --git a/gcc/expr.c b/gcc/expr.c index b54bf1d3dc5..476c6865f20 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);