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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #4)
> On trunk I see with -fno-split-paths:
> 
> .L5:
>         movq    (%r14,%rdx,8), %rcx
>         vmovsd  (%rcx,%rbx), %xmm0
>         vandpd  %xmm3, %xmm0, %xmm0
>         vucomisd        %xmm1, %xmm0
>         jbe     .L4
>         vmovapd %xmm0, %xmm1
>         movl    %edx, %r9d
> .L4:
>         addq    $1, %rdx
>         cmpq    %rdi, %rdx
>         jne     .L5

This looks similar to PR79389, where two problems were exposed. In addition to
split-paths issue, perhaps something disturbed RTL if-conversion to generate
jump instead of cmova?

.L4:
        movq    (%r15,%rax,8), %rcx
        vmovsd  (%rcx,%rbx), %xmm0
        vandpd  %xmm3, %xmm0, %xmm0
        vucomisd        %xmm1, %xmm0
        vmaxsd  %xmm1, %xmm0, %xmm1
        cmova   %eax, %edx
        addq    $1, %rax
        cmpl    %eax, %r14d
        jg      .L4

Reply via email to