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

--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 24 Feb 2017, ubizjak at gmail dot com wrote:

> 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

Note the path-splitting I noticed in comment#1 is not mitigated by
the recent cost-model fixes (a threading opportunity is still
detected - a non-existig one though).

Reply via email to