https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100929
--- Comment #5 from Denis Yaroshevskiy <denis.yaroshevskij at gmail dot com> --- x86 (https://godbolt.org/z/zPWbnqfPY) Options: -O3 -mavx2 ``` #include <immintrin.h> __m256 if_else_float(__m256 x, __m256 y) { __m256 mask = _mm256_cmp_ps(y, x, _CMP_LT_OQ); return _mm256_blendv_ps(x, y, mask); } __m256 min_float(__m256 x, __m256 y) { return _mm256_min_ps(x, y); } __m256i if_else_int(__m256i x, __m256i y) { __m256i mask = _mm256_cmpgt_epi32(x, y); return _mm256_blendv_epi8(x, y, mask); } __m256i min_int(__m256i x, __m256i y) { return _mm256_min_epi32(x, y); } ```