aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gfortran.dg/vect/pr116956.f9011
-rw-r--r--gcc/tree-vectorizer.cc2
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/vect/pr116956.f90 b/gcc/testsuite/gfortran.dg/vect/pr116956.f90
new file mode 100644
index 0000000..3ce4d1a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/vect/pr116956.f90
@@ -0,0 +1,11 @@
+! { dg-do compile }
+! { dg-require-effective-target vect_int }
+! { dg-additional-options "-mcpu=neoverse-v2 -Ofast" { target aarch64*-*-* } }
+
+SUBROUTINE nesting_offl_init(u, v, mask)
+ IMPLICIT NONE
+ real :: u(:)
+ real :: v(:)
+ integer :: mask(:)
+ u = MERGE( u, v, BTEST (mask, 1) )
+END SUBROUTINE nesting_offl_init
diff --git a/gcc/tree-vectorizer.cc b/gcc/tree-vectorizer.cc
index fed12c4..0c471c5 100644
--- a/gcc/tree-vectorizer.cc
+++ b/gcc/tree-vectorizer.cc
@@ -610,6 +610,8 @@ vec_info::move_dr (stmt_vec_info new_stmt_info, stmt_vec_info old_stmt_info)
= STMT_VINFO_DR_WRT_VEC_LOOP (old_stmt_info);
STMT_VINFO_GATHER_SCATTER_P (new_stmt_info)
= STMT_VINFO_GATHER_SCATTER_P (old_stmt_info);
+ STMT_VINFO_STRIDED_P (new_stmt_info)
+ = STMT_VINFO_STRIDED_P (old_stmt_info);
}
/* Permanently remove the statement described by STMT_INFO from the