https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78821
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- On a related note, following testcase: --cut here-- typedef __SIZE_TYPE__ size_t; void baz (char *buf, unsigned int data) { buf[0] = data; buf[1] = data >> 8; buf[2] = ~data >> 8; buf[3] = ~data; } --cut here-- could be optimized with -march=haswell to: movw %si, (%rdi) notl %eax movbew %si, 2(%rdi)