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

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
Without the constructor, we get plain

  *this_2(D).a = {};

which is expanded as an __int128 store. With the constructor, we get

  MEM[(struct M *)this_2(D)].p = 0B;
  MEM[(struct M *)this_2(D)].sz = 0;
  MEM[(struct M *)this_2(D)].cz = 0;

and store merging turns it into

  MEM[(struct M *)this_2(D)].p = 0B;
  MEM <unsigned long> [(unsigned int *)this_2(D) + 8B] = 0;

but no further.

Reply via email to