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