------- Additional Comments From giovannibajo at libero dot it 2005-03-15 10:04 ------- Roger explains what else needs to be done here: http://gcc.gnu.org/ml/gcc-patches/2005-03/msg01386.html
Right now, after his patch, mainline generates this code: pushl %edi pushl %esi pushl %ebx movl 16(%esp), %eax movl 20(%esp), %edx movl 24(%esp), %ecx movl 28(%esp), %ebx movl %edx, %esi imull %ecx, %esi movl %ebx, %edi imull %eax, %edi addl %edi, %esi mull %ecx leal (%esi,%edx), %edx popl %ebx popl %esi popl %edi ret -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17236