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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |missed-optimization
   Last reconfirmed|                            |2021-08-06
     Ever confirmed|0                           |1
                 CC|                            |pinskia at gcc dot gnu.org
          Component|rtl-optimization            |tree-optimization
           Severity|normal                      |enhancement

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This comes from doing this:

typedef float m128 __attribute__ ((__vector_size__ (16)));
m128 a(long long _v )
{
    m128 v;//={0,0};
    ((long long*)&v)[0]=((long long*)&v)[1]=_v;
  return v;
}

v is still forced on the stack.

Reply via email to