As mentioned in PR 42334, 200.sixtrack from SPEC CPU2000 started getting wrong
answers on powerpc64-linux with the Graphite merge at r140301 when compiled
with "-O2 -floop-interchange -ftree-loop-distribution".  The loop that is
miscompiled is:

      real*8 rt(6,6),r(6,6),rtt(6,6)
      do i=1,6
        do j=1,6
          do ia=1,6
            rtt(i,ia)=rt(i,j)*r(j,ia)+rtt(i,ia)
          end do
        end do
      end do

I'll attach a complete executable testcase that demonstrates the failure.

This testcase, and 200.sixtrack, pass when compiled with these options with GCC
4.4.2 and with trunk r150248 (the last trunk revision before r150301 that
builds on powerpc64-linux).


-- 
           Summary: wrong code for -floop-interchange -ftree-loop-
                    distribution
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc64-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42637

Reply via email to