https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69884
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- The compiler is letting you know that within A<__m128> the __may_alias__ attribute is discarded, which may lead to unexpected results. Since that attribute doesn't affect type identity, so it isn't reflected in mangling, we have to treat __m128 the same as a vector without that attribute. I imagine that other compilers do the same, just without the warning. I'm fine with providing a way to turn off the warning, but I don't think -Wattributes is right for it.