aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-10-25 23:18:41 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-10-25 23:18:41 +0000
commit0cec14923830569b8727d461bcf64adaf965de83 (patch)
tree39212625ea993fb193b64da0b13d64cd323dc23b /gcc/expr.c
parentf67dc76907675065f34ed0bd14915df8d0b63b2d (diff)
parent9bdc2a8f06cef54650798fcb4c343e4415fd5992 (diff)
downloadgcc-0cec14923830569b8727d461bcf64adaf965de83.zip
gcc-0cec14923830569b8727d461bcf64adaf965de83.tar.gz
gcc-0cec14923830569b8727d461bcf64adaf965de83.tar.bz2
Merge from trunk revision 277462.
From-SVN: r277464
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 124144d..476c686 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5790,7 +5790,8 @@ store_expr (tree exp, rtx target, int call_param_p,
copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
else
store_bit_field (target,
- INTVAL (expr_size (exp)) * BITS_PER_UNIT,
+ rtx_to_poly_int64 (expr_size (exp))
+ * BITS_PER_UNIT,
0, 0, 0, GET_MODE (temp), temp, reverse);
}
else
@@ -8953,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);