------- Comment #1 from kargl at gcc dot gnu dot org 2007-12-23 18:09 ------- Both codes are invalid.
In suspect that in your inplace version, gfortran's dependency analysis can't determine if the arrays overlap, so your getting a copy of the array. You can see what is happening with the -fdump-tree-original option. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34568