https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100973
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This also works: ``` diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h index ec9b9905b5f..9e03bf408c2 100644 --- a/gcc/config/i386/avxintrin.h +++ b/gcc/config/i386/avxintrin.h @@ -1145,7 +1145,9 @@ _mm256_movemask_pd (__m256d __A) extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movemask_ps (__m256 __A) { - return __builtin_ia32_movmskps256 ((__v8sf)__A); + unsigned t = __builtin_ia32_movmskps256 ((__v8sf)__A); + if (t >= 256) __builtin_unreachable(); + return t; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ```