https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110303
m.cencora at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |m.cencora at gmail dot com --- Comment #6 from m.cencora at gmail dot com --- (In reply to Denis Yaroshevskiy from comment #4) > > so _mm_shuffle_epi32 requires a constant but since it is an argument, the > > argument, it is not a constant expression requirement. > > The function is marked constexpr. So it can be a constant if you ask it. constexpr at function declaration means that it COULD be evaluated in compile time, but doesn't force it. To force it either invoke it in a context that requires a compile-time evaluation (e.g. static_assert, or initializer of constexpr variable), or mark it as consteval instead.