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.