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

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
If we avoid changing the type from int16_t to uint16_t, we get 2 calls to
memmove. They don't get expanded, probably because we fail to simplify the size
to 16 in gimple:
  _1 = &MEM[(void *)this_5(D) + 16B];
  _2 = &this_5(D)->data1;
  _10 = _1 - _2;

Reply via email to