------- Comment #5 from bernds at codesourcery dot com 2010-03-17 11:44 ------- Created an attachment (id=20123) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20123&action=view) A patch to fix it.
Okay, so the pattern is written strangely because it's a two-operand mul where the input and output may not be the same register. It may be better to write this using an earlyclobbered in-out operand, but you can't show anymore that the operation is commutative. It can be fixed with a simple peephole optimization, at least for this testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42258