aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-08-11 11:49:10 +0200
committerRichard Biener <rguenther@suse.de>2021-08-11 12:55:24 +0200
commitf19c70afa4aa2416c581484a6eb51c0ac46acd08 (patch)
tree292671b10bbcdd4d5d149be4a6d0a2b91dbf0652 /gcc/tree-vect-stmts.c
parentb8f604da25bfe0fd4dadbc338293885819fe8018 (diff)
downloadgcc-f19c70afa4aa2416c581484a6eb51c0ac46acd08.zip
gcc-f19c70afa4aa2416c581484a6eb51c0ac46acd08.tar.gz
gcc-f19c70afa4aa2416c581484a6eb51c0ac46acd08.tar.bz2
tree-optimization/101861 - fix gather use for non-gather refs
My previous change broke the usage of gather for strided loads. The following fixes it. 2021-08-11 Richard Biener <rguenther@suse.de> PR tree-optimization/101861 * tree-vect-stmts.c (vectorizable_load): Fix error in previous change with regard to gather vectorization.
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index ab402b5..cc6c091 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -9492,7 +9492,8 @@ vectorizable_load (vec_info *vinfo,
if (memory_access_type == VMAT_GATHER_SCATTER
&& gs_info.ifn != IFN_LAST)
{
- vec_offset = vec_offsets[j];
+ if (STMT_VINFO_GATHER_SCATTER_P (stmt_info))
+ vec_offset = vec_offsets[j];
tree zero = build_zero_cst (vectype);
tree scale = size_int (gs_info.scale);
gcall *call;