]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Testcases for vectorizer peeling
authorRichard Biener <rguenther@suse.de>
Fri, 3 Nov 2023 14:53:11 +0000 (15:53 +0100)
committerRichard Biener <rguenther@suse.de>
Fri, 3 Nov 2023 14:55:10 +0000 (15:55 +0100)
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.

* gfortran.dg/20231103-1.f90: New testcase.
* gfortran.dg/20231103-2.f90: Likewise.

gcc/testsuite/gfortran.dg/20231103-1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/20231103-2.f90 [new file with mode: 0644]

diff --git a/gcc/testsuite/gfortran.dg/20231103-1.f90 b/gcc/testsuite/gfortran.dg/20231103-1.f90
new file mode 100644 (file)
index 0000000..61ccf5c
--- /dev/null
@@ -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 (file)
index 0000000..c510505
--- /dev/null
@@ -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