We are now able to vectorize the PR70102 testcase using a SLP reduction chain.
Tested on x86_64-linux, pushed.
PR tree-optimization/70102
* gfortran.dg/vect/pr70102.f: New testcase.
---
gcc/testsuite/gfortran.dg/vect/pr70102.f | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 gcc/testsuite/gfortran.dg/vect/pr70102.f
diff --git a/gcc/testsuite/gfortran.dg/vect/pr70102.f
b/gcc/testsuite/gfortran.dg/vect/pr70102.f
new file mode 100644
index 00000000000..b6a2878a06e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/vect/pr70102.f
@@ -0,0 +1,21 @@
+! { dg-do compile }
+! { dg-additional-options "-Ofast" }
+ subroutine test (x,y,z)
+ integer x,y,z
+ real*8 a(5,x,y,z),b(5,x,y,z)
+ real*8 c
+
+ c = 0.0d0
+ do k=1,z
+ do j=1,y
+ do i=1,x
+ do l=1,5
+ c = c + a(l,i,j,k)*b(l,i,j,k)
+ enddo
+ enddo
+ enddo
+ enddo
+ write(30,*)'c ==',c
+ return
+ end
+! { dg-final { scan-tree-dump "vectorizing a reduction chain" "vect" { target
vect_double } } }
--
2.51.0