------- Comment #12 from bonzini at gnu dot org 2007-12-18 16:01 ------- The problem in comment #11 is that GCC generates a widening multiply, and cannot remove the DImode operations until after register allocation (!). While the root cause is a deficiency in RTL-level DCE, I suggest filing a separate bug, because it could also be fixed on the tree-level.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17236