This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/38825] missed optimization: register renaming in unrolled loop



------- Comment #4 from rguenth at gcc dot gnu dot org  2009-01-13 15:44 -------
-frename-registers does make a difference for me,

.L2:
        movaps  %xmm0, %xmm2
        movaps  %xmm0, %xmm1
        addps   (%rsi,%rax), %xmm2
        movaps  %xmm2, (%rdi,%rax)
        addps   16(%rsi,%rax), %xmm1
        movaps  %xmm1, 16(%rdi,%rax)
        addq    $32, %rax
        cmpq    %rdx, %rax
        jne     .L2

vs.

.L2:
        movaps  %xmm0, %xmm1
        addps   (%rsi,%rax), %xmm1
        movaps  %xmm1, (%rdi,%rax)
        movaps  %xmm0, %xmm1
        addps   16(%rsi,%rax), %xmm1
        movaps  %xmm1, 16(%rdi,%rax)
        addq    $32, %rax
        cmpq    %rdx, %rax
        jne     .L2

x86_64, -O3 -fschedule-insns [-frename-registers], with restrict added


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]