------- Comment #6 from hubicka at gcc dot gnu dot org 2005-10-31 18:15 ------- Actually the cited 4.0 sequence do not obey the const int x86_read_modify = ~(m_PENT | m_PPRO); setting -march=athlon or using -Os makes the move go away. Additionally I get following sequence out of 4.0 in SUSE distro: movl term, %eax movl 4012(%ebx), %ecx movl 4028(%eax), %eax imull %ecx, %eax that also contains the extra memory move. So I am going to close this as invalid. Honza
-- hubicka at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23302