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; }