https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80331
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- With -std=c++20 -O2 I get better code than just -std=c++17 -O2: _34 = operator new (24); __builtin_memcpy (_34, "a ", 23); MEM[(char_type &)_34 + 23] = 0; operator delete (_34, 24); That is all I think due to what is referenced in PR 86590.