From: Richard Biener Date: Fri, 3 Nov 2023 14:53:11 +0000 (+0100) Subject: Testcases for vectorizer peeling X-Git-Tag: basepoints/gcc-15~5032 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e902dfbea7a75affbf645d024ff8c762afd9741e;p=thirdparty%2Fgcc.git Testcases for vectorizer peeling 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. --- diff --git a/gcc/testsuite/gfortran.dg/20231103-1.f90 b/gcc/testsuite/gfortran.dg/20231103-1.f90 new file mode 100644 index 000000000000..61ccf5c5e9db --- /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 000000000000..c510505d5adc --- /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