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__))

Reply via email to