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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jan Schultke from comment #1)
> The std::from_range constructor is even worse
> (https://compiler-explorer.com/z/EexY77zKc):
> 
> std::inplace_vector<char, 4> f() {
>   constexpr std::array elements{'a', 'b', 'c'};
>   return { std::from_range, elements };


In this case we don't optimize around the inline-asm:
  D.60698._M_size = 0;
  __asm__ __volatile__("" : "=g" __q_7, "=m" MEM <char[0:D.69984]>
[(char[0:D.69846] *)&D.60698] : "0" &D.60698.D.59887._M_elems, "m" MEM
<char[0:D.69984]> [(char[0:D.69846] *)&D.60698]);
  _11 = D.60698._M_size;

Reply via email to