http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50107

--- Comment #6 from Vladimir Makarov <vmakarov at redhat dot com> 2011-08-17 
22:21:13 UTC ---
(In reply to comment #4)
> Created attachment 25038 [details]
> A patch
> 
> This patch generates:
> 
>     movq    %rdi, %rdx
>     mulx    %rsi, %r10, %r9
>     addq    $3, %r9
>     adcq    $0, %r10
>     movq    %r9, k2(%rip)
>     movq    %r9, %rax
>     movq    %r10, k2+8(%rip)
>     movq    %r10, %rdx
>     ret

I don't think it is a good patch (changing register allocation order) because
it prefers new x86-64 registers and results in longer insns and bigger code for
many programs.

I am working on a patch to fix it in IRA.  I found a typo which is a reason for
such behaviour.  I think it will be ready tomorrow.

Reply via email to