https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115362
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-06-06 Status|UNCONFIRMED |WAITING Ever confirmed|0 |1 --- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- How should I compile this? > /space/rguenther/install/gcc-14.1/bin/g++ t.C -std=gnu++2b -mavx2 t.C: In function ‘int main(int, char**)’: t.C:105:29: warning: ignoring attributes on template argument ‘__m128’ [-Wignored-attributes] 105 | std::array<__m128, 3> sse = | ^ In file included from /spc/space/rguenther/install/gcc-14.1/lib64/gcc/x86_64-pc-linux-gnu/14.1.0/include/immintrin.h:39, from /spc/space/rguenther/install/gcc-14.1/lib64/gcc/x86_64-pc-linux-gnu/14.1.0/include/x86intrin.h:32, from /spc/space/rguenther/install/gcc-14.1/include/c++/14.1.0/experimental/bits/simd.h:45, from /spc/space/rguenther/install/gcc-14.1/include/c++/14.1.0/experimental/simd:74, from t.C:4: t.C: In static member function ‘static constexpr T math::vec::storage<T, N>::dot_sse(FIRST, OTHER&& ...) [with FIRST = __vector(4) float; OTHER = {__vector(4) float&, __vector(4) float&}; T = float; long unsigned int N = 3]’: t.C:46:91: error: the last argument must be an 8-bit immediate 46 | constexpr T dot_sse(FIRST first, OTHER&&... other) { return _mm_dp_ps(first, (... * std::forward<OTHER>(other)), mask4dp(N))[0]; } | ^~~~~~~~~