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