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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |ubizjak at gmail dot com
   Last reconfirmed|                            |2021-05-17
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 50822
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50822&action=edit
Patch that enables vectorization of 4-byte vectors

The patch introduces infrastructure to vectorize 4-byte vectors on SSE2
targets. The vectorization of logic and plus/minus instructions is
demonstrated, using -O3 -msse2 produces for the above testcases:

foo:
        movd    %esi, %xmm0
        movd    %edi, %xmm2
        movd    %edx, %xmm1
        pandn   %xmm2, %xmm0
        paddb   %xmm0, %xmm1
        movd    %xmm1, %eax
        ret

bar_b:
        movd    tb(%rip), %xmm0
        movd    sb(%rip), %xmm1
        paddb   %xmm1, %xmm0
        movd    %xmm0, rb(%rip)
        ret

bar_w:
        movd    tw(%rip), %xmm0
        movd    sw(%rip), %xmm1
        paddw   %xmm1, %xmm0
        movd    %xmm0, rw(%rip)
        ret

Reply via email to