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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
int is the documented type of the argument (in the manual):
Intel C/C++ Compiler Intrinsic Equivalent
BLENDPS __m128 _mm_blend_ps (__m128 v1, __m128 v2, const int mask);
VBLENDPS __m256 _mm256_blend_ps (__m256 a, __m256 b, const int mask);
or
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_blend_ps&ig_expand=484

Now, at -O0 a lot of optimizations aren't simply done, that is why e.g. this
intrinsics and various others which require constant last argument are macros
and not inline functions (which don't have guaranteed that the constant will
propagate to the builtin argument).

I still think we should do something about this, see above, but strictly
speaking it isn't really guaranteed at -O0.

Reply via email to