[Bug fortran/56937] Unnecessarily temporary with array-vector assignments
mikael at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Apr 13 10:32:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56937
--- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> 2013-04-13 10:32:46 UTC ---
(In reply to comment #0)
> tmp(2) = r(1) + 0.25 ! r(1:4) == 0
> tmp(2) = r(2) + 0.25
> tmp(3) = r(3) + 0.25
> tmp(2) = r(4) + 0.25
> r(2) = tmp(2) ! = 0.25
> r(2) = tmp(2) ! = 0.25
> r(3) = tmp(3) ! = 0.25
> r(2) = tmp(2) ! = 0.25
> -> sum(r) = 0.5
>
By the way, it's rather:
tmp(1) = r(2) + 0.25 ! r(1:4) == 0
tmp(2) = r(2) + 0.25
tmp(3) = r(3) + 0.25
tmp(4) = r(2) + 0.25
r(2) = tmp(1) ! = 0.25
r(2) = tmp(2) ! = 0.25
r(3) = tmp(3) ! = 0.25
r(2) = tmp(4) ! = 0.25
-> sum(r) = 0.5
More information about the Gcc-bugs
mailing list