https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120426
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- (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.