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

            Bug ID: 84415
           Summary: Using __m128 as a template parameter causes warnings
           Product: gcc
           Version: 7.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: myriachan at gmail dot com
  Target Milestone: ---

Attempting to use one of the intrinsic x86 vector types like __m128 causes a
warning:

<source>:9:30: warning: ignoring attributes on template argument '__m128 {aka
__vector(4) float}' [-Wignored-attributes]
 __m128 Purr(const Meow<__m128> &m)
                             ^
This is really annoying in warnings-as-errors mode.

This doesn't happen for uint64x2_t on ARM or ARM64.


#include <xmmintrin.h>
template <typename T>
struct Meow
{
    T x;
};
__m128 Purr(const Meow<__m128> &m)
{
    return m.x;
}

Reply via email to