------- 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