The following exercise otherwise not exercised paths in the
vectorizer peeling code, resulting in CPU 2017 build ICEs
when patching but no fallout in the testsuite.

tested on x86_64-unknown-linux-gnu, pushed.

        * gfortran.dg/20231103-1.f90: New testcase.
        * gfortran.dg/20231103-2.f90: Likewise.
---
 gcc/testsuite/gfortran.dg/20231103-1.f90 | 22 ++++++++++++++++++++++
 gcc/testsuite/gfortran.dg/20231103-2.f90 | 22 ++++++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 gcc/testsuite/gfortran.dg/20231103-1.f90
 create mode 100644 gcc/testsuite/gfortran.dg/20231103-2.f90

diff --git a/gcc/testsuite/gfortran.dg/20231103-1.f90 
b/gcc/testsuite/gfortran.dg/20231103-1.f90
new file mode 100644
index 00000000000..61ccf5c5e9d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/20231103-1.f90
@@ -0,0 +1,22 @@
+! { dg-do compile }
+! { dg-options "-Ofast" }
+SUBROUTINE sedi_1D(QX1d,  DZ1d,kdir,BX1d,kbot,ktop)
+  real, dimension(:) :: QX1d,DZ1d
+  real, dimension(size(QX1d))  :: VVQ
+  logical                            BX_present
+  do k= kbot,ktop,kdir
+     VVQ= VV_Q0
+  enddo
+  Vxmaxx= min0
+  if (kdir==1) then
+     dzMIN = minval(DZ1d)
+  endif
+  npassx=   Vxmaxx/dzMIN
+  DO nnn= 1,npassx
+     if (BX_present) then
+       do k= ktop,kdir
+         BX1d= iDZ1d0
+       enddo
+     endif
+  ENDDO
+END
diff --git a/gcc/testsuite/gfortran.dg/20231103-2.f90 
b/gcc/testsuite/gfortran.dg/20231103-2.f90
new file mode 100644
index 00000000000..c510505d5ad
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/20231103-2.f90
@@ -0,0 +1,22 @@
+! { dg-do compile }
+! { dg-options "-Ofast" }
+subroutine 
shr_map_checkFldStrshr_map_mapSet_dest(ndst,max0,eps,sum0,maxval0,min0,nidnjd,renorm)
+  allocatable  sum(:)
+  logical renorm
+  allocate(sum(ndst))
+  do n=1,ndst 
+    if (sum0 > eps) then
+      rmax = max0
+    endif
+  enddo
+  if (renorm) then
+    rmin = maxval0
+    rmax = minval(sum)
+    do n=1,nidnjd
+      if (sum0 > eps) then
+        rmin = min0
+      endif
+    enddo
+    write(*,*) rmin,rmax
+  endif
+end
-- 
2.35.3

Reply via email to