[llvm-bugs] [Bug 24413] [loop vectorizer] unoptimized vectorized code for induction variable

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Oct 13 18:20:21 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=24413

Florian Hahn <florian_hahn at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |florian_hahn at apple.com
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #1 from Florian Hahn <florian_hahn at apple.com> ---
This seems fixed in current trunk. On X86 we generate  the following
vector.body. We use a scalar add to increment the induction variable. Please
feel free to re-open, if your issue still persists.

LBB0_4:                                 ## %vector.body
                                        ## =>This Inner Loop Header: Depth=1
        movq    (%rdi,%rax,2), %xmm3    ## xmm3 = mem[0],zero
        punpcklwd       %xmm0, %xmm3    ## xmm3 =
xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]
        movq    8(%rdi,%rax,2), %xmm4   ## xmm4 = mem[0],zero
        punpcklwd       %xmm0, %xmm4    ## xmm4 =
xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]
        pand    %xmm2, %xmm3
        paddd   %xmm3, %xmm0
        pand    %xmm2, %xmm4
        paddd   %xmm4, %xmm1
        addq    $8, %rax
        cmpq    %rax, %rsi
        jne     LBB0_4
## %bb.5:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20191014/d40456c1/attachment.html>


More information about the llvm-bugs mailing list