summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 99f6b1f1ccb..2e2a56afa44 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -2941,11 +2941,10 @@ vectorizable_simd_clone_call (gimple stmt, gimple_stmt_iterator *gsi,
? POINTER_PLUS_EXPR : PLUS_EXPR;
tree type = POINTER_TYPE_P (TREE_TYPE (op))
? sizetype : TREE_TYPE (op);
- double_int cst
- = double_int::from_shwi
- (bestn->simdclone->args[i].linear_step);
- cst *= double_int::from_uhwi (ncopies * nunits);
- tree tcst = double_int_to_tree (type, cst);
+ widest_int cst
+ = wi::mul (bestn->simdclone->args[i].linear_step,
+ ncopies * nunits);
+ tree tcst = wide_int_to_tree (type, cst);
tree phi_arg = copy_ssa_name (op, NULL);
new_stmt = gimple_build_assign_with_ops (code, phi_arg,
phi_res, tcst);
@@ -2966,11 +2965,10 @@ vectorizable_simd_clone_call (gimple stmt, gimple_stmt_iterator *gsi,
? POINTER_PLUS_EXPR : PLUS_EXPR;
tree type = POINTER_TYPE_P (TREE_TYPE (op))
? sizetype : TREE_TYPE (op);
- double_int cst
- = double_int::from_shwi
- (bestn->simdclone->args[i].linear_step);
- cst *= double_int::from_uhwi (j * nunits);
- tree tcst = double_int_to_tree (type, cst);
+ widest_int cst
+ = wi::mul (bestn->simdclone->args[i].linear_step,
+ j * nunits);
+ tree tcst = wide_int_to_tree (type, cst);
new_temp = make_ssa_name (TREE_TYPE (op), NULL);
new_stmt
= gimple_build_assign_with_ops (code, new_temp,