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/79709] Subobtimal code with -mavx and explicit vector


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

--- Comment #8 from Marc Glisse <glisse at gcc dot gnu.org> ---
Thomas, the code generated by gcc has changed (after some patches by Jakub
IIRC). Do you consider the issue fixed or is the generated asm still
problematic?

.L13:
        vpextrq $1, %xmm2, %rax
        testq   %rax, %rax
        je      .L2
        vextractf128    $0x1, %ymm2, %xmm2
        vmovq   %xmm2, %rax
        testq   %rax, %rax
        jne     .L2
        vpextrq $1, %xmm2, %rax
        vmovapd %ymm4, %ymm3
        testq   %rax, %rax
        jne     .L2
.L3:
        vmulpd  %ymm3, %ymm3, %ymm4
        vmulpd  %ymm8, %ymm3, %ymm3
        vsubpd  %ymm10, %ymm4, %ymm4
        vmulpd  %ymm9, %ymm3, %ymm3
        vaddpd  %ymm0, %ymm4, %ymm4
        vaddpd  %ymm1, %ymm3, %ymm9
        vaddpd  %ymm4, %ymm4, %ymm2
        vmulpd  %ymm9, %ymm9, %ymm10
        vaddpd  %ymm10, %ymm2, %ymm2
        vcmpltpd        %ymm7, %ymm2, %ymm2
        vpaddq  %xmm2, %xmm5, %xmm3
        vextractf128    $1, %ymm2, %xmm6
        vmovq   %xmm2, %rax
        vextractf128    $1, %ymm5, %xmm5
        testq   %rax, %rax
        vpaddq  %xmm6, %xmm5, %xmm5
        vinsertf128     $0x1, %xmm5, %ymm3, %ymm5
        jne     .L13

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