[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