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

--- Comment #4 from Allan Jensen <linux at carewolf dot com> ---
(In reply to Allan Jensen from comment #3)
> Gcc 5 and 6 produces code with pmovzx when compiling the example with -O3
> -msse4.1
> 
> I assume this can be closed.

Note like comment 1 saids, it will not use a memory load, though instead it
does half as many memory reads.

movdqa 0x0(%rip),%xmm0        # 8 <foo+0x8>
pmovzxbw %xmm0,%xmm1
psrldq $0x8,%xmm0
pmovzxbw %xmm0,%xmm0
movaps %xmm1,0x0(%rip)        # 1e <foo+0x1e>
movaps %xmm0,0x0(%rip)        # 25 <foo+0x25>

Reply via email to