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

--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Hongtao.liu from comment #1)
> I prefer to add an UNSPEC to vpbroadcastm, don't want to mix gpr and kmask
> too much for vec_duplicate:zero_extend pattern.

And got this:

.L3:
        vmovapd b(%rax), %ymm1{%k1}
        movl    %edx, %esi
        subl    $4, %edx
        movzwl  %dx, %ecx
        vmulpd  %ymm3, %ymm1, %ymm0{%k1}{z}
        vmovapd %ymm0, a(%rax){%k1}
        vpbroadcastd    %ecx, %xmm0
        addq    $32, %rax
        vpcmpud $6, %xmm2, %xmm0, %k1
        cmpw    $4, %si
        ja      .L3
        vzeroupper

Reply via email to