https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92283

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 47188
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47188&action=edit
debugging patch

So we're unrolling innermost loops of

            do m1=1,nope
               do m3=1,3
                  vkl(0,m3)=vkl(0,m3)+shp(m3,m1)*vl(0,m1)
               enddo
            enddo

and

         do j=1,nope
            konl(j)=kon(indexe+j)
            do k=1,3
               xl(k,j)=co(k,konl(j))
            enddo
            vl(0,j)=v(0,konl(j))
            voldl(0,j)=vold(0,konl(j))
         enddo

and

               do m1=1,3
                  do m2=1,m1
                     ckl(m1,m2)=0.d0
                     do m3=1,3
                        do m4=1,3
                           ckl(m1,m2)=ckl(m1,m2)+
     &                          skl(m3,m4)*xkl(m1,m3)*xkl(m2,m4)
                        enddo
                     enddo
                     ckl(m1,m2)=ckl(m1,m2)/vj
                  enddo
               enddo

and more.  Bisecting on actual unrollings would have helped more... doing
that now with the attached.

Reply via email to