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 rtl-optimization/54421] Extra movdqa when accessing quadwords in a 128-bit SSE register


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54421

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |law at redhat dot com
         Resolution|---                         |FIXED

--- Comment #2 from Jeffrey A. Law <law at redhat dot com> ---
It looks like we went through a series of improvements resulting in the current
compiler generating:

       movhlps %xmm0, %xmm1
        movq    %xmm0, %rdx
        movq    %xmm1, %rax
        orq     %rax, %rdx
        sete    %al
        movzbl  %al, %eax
        ret


ie, it operates solely on registers and thus avoids the unnecessary stack
loads/stores.

Given it was a progression over time, I'm not going to bisect each improvement.
 It's just not worth the effort.

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