https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80283
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |glisse at gcc dot gnu.org --- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Apparently started with r217608. The following hacky partial revert fixes the issue: diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h index b5730f842a7c..c36ebc3dce70 100644 --- a/gcc/config/i386/avxintrin.h +++ b/gcc/config/i386/avxintrin.h @@ -145,7 +145,7 @@ _mm256_add_pd (__m256d __A, __m256d __B) extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_ps (__m256 __A, __m256 __B) { - return (__m256) ((__v8sf)__A + (__v8sf)__B); + return (__m256) __builtin_ia32_addps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))