------- Comment #6 from scovich at gmail dot com 2007-07-26 22:51 ------- I've observed several more pieces of code where this bug comes up, and it always seems to be a case of (a) the compiler duplicating a register to preserve the value after a 2-operand insn can clobbers the original, then (b) later failing to notice that the other use(s) got optimized away, never existed, or were reads that got scheduled before the clobber.
Perhaps a register renaming pass later in the compilation process might solve the issue? (I don't know how much that would slow down compilation, though). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32725