------- Comment #1 from pinskia at gcc dot gnu dot org 2010-03-13 01:35 ------- GCC 4.5 is able to produce pmovzxbw via sse4_1_zero_extendv8qiv8hi2 but it does not accept a memory operand for operand 1. movdqa x(%rip), %xmm0 pmovzxbw %xmm0, %xmm1 psrldq $8, %xmm0 pmovzxbw %xmm0, %xmm0 movdqa %xmm1, y(%rip) movdqa %xmm0, y+16(%rip) ... Is what GCC currently produces.
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|tree-optimization |target Ever Confirmed|0 |1 GCC target triplet| |i?86-*-* x86_64-*-* Keywords| |missed-optimization Last reconfirmed|0000-00-00 00:00:00 |2010-03-13 01:35:56 date| | Summary|Integer externsions aren't |Integer externsions |vectorized |vectorization could be | |improved http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31667