[Bug fortran/35339] Improve translation of implied do loop in transfer
manfred99 at gmx dot ch
gcc-bugzilla@gcc.gnu.org
Mon May 29 06:04:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35339
Manfred Schwarb <manfred99 at gmx dot ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |manfred99 at gmx dot ch
--- Comment #10 from Manfred Schwarb <manfred99 at gmx dot ch> ---
As I understand this patch applies to read and write.
How does this optimization behave regarding my pet issue (short array reads)?
I.e.
program internalread
integer m
parameter(m=10000000)
character value*10
integer i,j,intvalues(m)
DO j=1,100
write(value,'(i3,a5)') j," 5 69"
CC read(value,*,end=20) (intvalues(i),i=1,m)
read(value,*,end=20) intvalues
20 print*,"20"
write(*,*) j,i
ENDDO
end program internalread
On my box this is 2.8s vs. 31s, i.e. the array version is more
than 10 times slower than the implied do loop.
More information about the Gcc-bugs
mailing list