------- Comment #11 from irar at il dot ibm dot com  2009-04-02 11:16 -------
(In reply to comment #10)
> No, please don't ever add -m64 or -m32 to dg-options, that is something the
> tester decides on in how it invokes make check.  If a test is specific to -m64
> or -m32, you should be using ilp32 or lp64 etc. effective target requirements,
> but in this case there is nothing in the testcase that requires -m64, the test
> just passes for some targets and fails for others.
> Don't add -c, that's implicit for dg-do compile, you're adding it for second
> time.

OK, thanks for the explanation!

> Also, I don't like the s/double precision/dimension/ change, the type of the
> vars should be if possible explicit when you aren't testing the Fortran FE.
> On x86_64-linux it fails with double precision, but also real, integer or
> integer*8 instead of double precision, just don't leave the explicit type out.

I will change it to real then (double does not get vectorized on PowerPC).

> The testcase as is in #c3 fails on x86_64-linux and succeeds on i686-linux and
> RUNTESTFLAGS=--target_board=unix/-m32 on x86_64-linux, I guess on Darwin
> similarly, it will fail with RUNTESTFLAGS=--target_board=unix/-m64.

Here is the final version (the test name will be O3-pr39595.f, so vect.exp will
append -O3 to the flags):

! { dg-do compile }
      subroutine foo(a,c,i,m)
      real a(4,*),b(3,64),c(3,200),d(64)
      integer*8 i,j,k,l,m
      do j=1,m,64
        do k=1,m-j+1
          d(k)=a(4,j-1+k)
          do l=1,3
            b(l,k)=c(l,i)+a(l,j-1+k)
          end do
        end do
        call bar(b,d,i)
      end do
      end

! { dg-final { cleanup-tree-dump "vect" } }

Thanks,
Ira


-- 


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

Reply via email to