https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120426
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #3) > (In reply to Andrew Pinski from comment #2) > > With -mtune=sapphirerapids we get: > > > > <bb 2> [local count: 1073741824]: > > MEM <unsigned long> [(union *)lock_2(D)] = 0; > > MEM <unsigned long> [(union *)lock_2(D) + 8B] = 0; > > MEM <unsigned long> [(union *)lock_2(D) + 16B] = 1; > > MEM <vector(2) long unsigned int> [(union *)lock_2(D) + 24B] = { 0, 0 }; > > > > > > Which is because we don't combine "memset"s into large ones yet. > > Which is PR 49872. > > Do you have a patch I can try? Or I can extend STV pass to cover this > particular > case. I don't have a patch right now, maybe in 2 or 3 weeks. It is one of the things I am working towards