https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78821
--- Comment #30 from Uroš Bizjak <ubizjak at gmail dot com> --- Another unhandled case: --cut here-- typedef __SIZE_TYPE__ size_t; void baz (char *buf, size_t base, unsigned int data) { buf[base] = data; buf[base+1] = data >> 8; } --cut here-- compiles to: movb %dl, (%rdi,%rsi) movb %dh, 1(%rdi,%rsi) ret