diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gfortran.dg/vect/pr116956.f90 | 11 | ||||
-rw-r--r-- | gcc/tree-vectorizer.cc | 2 |
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 |