diff options
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
-rw-r--r-- | gcc/tree-vect-patterns.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc index 0f6d6b7..f0ddbf9 100644 --- a/gcc/tree-vect-patterns.cc +++ b/gcc/tree-vect-patterns.cc @@ -6042,12 +6042,14 @@ vect_recog_gather_scatter_pattern (vec_info *vinfo, tree vec_els = vect_get_mask_load_else (elsval, TREE_TYPE (gs_vectype)); - pattern_stmt = gimple_build_call_internal (gs_info.ifn, 6, base, + pattern_stmt = gimple_build_call_internal (gs_info.ifn, 7, base, + gs_info.alias_ptr, offset, scale, zero, mask, vec_els); } else - pattern_stmt = gimple_build_call_internal (gs_info.ifn, 4, base, + pattern_stmt = gimple_build_call_internal (gs_info.ifn, 5, base, + gs_info.alias_ptr, offset, scale, zero); tree lhs = gimple_get_lhs (stmt_info->stmt); tree load_lhs = vect_recog_temp_ssa_var (TREE_TYPE (lhs), NULL); @@ -6057,12 +6059,13 @@ vect_recog_gather_scatter_pattern (vec_info *vinfo, { tree rhs = vect_get_store_rhs (stmt_info); if (mask != NULL) - pattern_stmt = gimple_build_call_internal (gs_info.ifn, 5, - base, offset, scale, rhs, - mask); + pattern_stmt = gimple_build_call_internal (gs_info.ifn, 6, + base, gs_info.alias_ptr, + offset, scale, rhs, mask); else - pattern_stmt = gimple_build_call_internal (gs_info.ifn, 4, - base, offset, scale, rhs); + pattern_stmt = gimple_build_call_internal (gs_info.ifn, 5, + base, gs_info.alias_ptr, + offset, scale, rhs); } gimple_call_set_nothrow (pattern_stmt, true); |