[Bug target/29881] union causes inefficient code

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 8 09:26:08 GMT 2021


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |4.8.5
      Known to work|                            |4.8.5

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Been fixed for a long time now.  At least since GCC 4.8.5.  


  a$m_4 = MEM[(const union I16x8 &)p_2(D)];
  _5 = VIEW_CONVERT_EXPR<__v8hi>(a$m_4);
  _6 = __builtin_ia32_paddw128 (_5, _5);
  _7 = VIEW_CONVERT_EXPR<__m128i>(_6);
  MEM[(union I16x8 *)p_2(D)] = _7;


Either it was when SRA was improved or MEM_REF was added but it has been fixed
for over 8 years now.


More information about the Gcc-bugs mailing list