This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/43829] Scalarization of reductions
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 1 Mar 2011 15:41:39 +0000
- Subject: [Bug fortran/43829] Scalarization of reductions
- Auto-submitted: auto-generated
- References: <bug-43829-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43829
--- Comment #33 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-03-01 15:41:36 UTC ---
(In reply to comment #32)
> Created attachment 23268 [details]
> More up-to-date patch
Although this patch is probably not suitable for stage 4, I have it in my tree
for some time without any problem. It would be interesting to know if it still
improves 465.tonto. My only remark is about the test in comment #31 for which
the dg-warning in
if (any(1+eid(sum(a,2))+ay+neid2 &
(sum(a,2) & ! { dg-warning "Creating array temporary" }
)+1 /= 3*ay+2)) call abort
should be moved to the line above:
Warning: Creating array temporary at (1)
pr43829_7.f90:116.34:
if (any(1+eid(sum(a,2))+ay+neid2 &
1
Warning: Creating array temporary at (1)
and the block
if (any(sum( &
a(sum(onesx(:,:),1), &
sum(onesy(:,:),1), &
sum(onesz(:,:),1)), &
1) /= ax)) call abort
that generates
pr43829_7.f90:94.10:
a(sum(onesx(:,:),1), &
1
Warning: Creating array temporary at (1)
pr43829_7.f90:94.28:
a(sum(onesx(:,:),1), &
1
Warning: Creating array temporary at (1)
pr43829_7.f90:95.28:
sum(onesy(:,:),1), &
1
Warning: Creating array temporary at (1)
Also "reshape((/ (i*i,i=1,size(a)) /), shape(a)), &" generates a warning:
pr43829_7.f90:82.8:
reshape((/ (i*i,i=1,size(a)) /), shape(a)), &
1
Warning: Creating array temporary at (1)