Hi all,

In GCC13/12, there is no _mm_avx512_setzero_ps/d since it is introduced
in GCC14.

Fix the backport issue as obvious in:
https://gcc.gnu.org/pipermail/gcc-regression/2024-July/080385.html

Thx,
Haochen

gcc/ChangeLog:

        * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): Use
        _mm_setzero_pd instead of _mm_avx512_setzero_pd.
        (_mm_reduce_round_ss): Use _mm_setzero_ps instead of
        _mm_avx512_setzero_ps.
---
 gcc/config/i386/avx512dqintrin.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/i386/avx512dqintrin.h b/gcc/config/i386/avx512dqintrin.h
index 4383ff14670..82f4acc7d2e 100644
--- a/gcc/config/i386/avx512dqintrin.h
+++ b/gcc/config/i386/avx512dqintrin.h
@@ -2840,7 +2840,7 @@ _mm512_fpclass_ps_mask (__m512 __A, const int __imm)
 
 #define _mm_reduce_round_sd(A, B, C, R)                                       \
   ((__m128d) __builtin_ia32_reducesd_mask_round ((__v2df)(__m128d)(A), \
-    (__v2df)(__m128d)(B), (int)(C), (__v2df) _mm_avx512_setzero_pd (), \
+    (__v2df)(__m128d)(B), (int)(C), (__v2df) _mm_setzero_pd (),               \
     (__mmask8)(-1), (int)(R)))
 
 #define _mm_mask_reduce_round_sd(W, U, A, B, C, R)                    \
@@ -2869,7 +2869,7 @@ _mm512_fpclass_ps_mask (__m512 __A, const int __imm)
 
 #define _mm_reduce_round_ss(A, B, C, R)                                       \
   ((__m128) __builtin_ia32_reducess_mask_round ((__v4sf)(__m128)(A),   \
-    (__v4sf)(__m128)(B), (int)(C), (__v4sf) _mm_avx512_setzero_ps (),  \
+    (__v4sf)(__m128)(B), (int)(C), (__v4sf) _mm_setzero_ps (),        \
     (__mmask8)(-1), (int)(R)))
 
 #define _mm_mask_reduce_round_ss(W, U, A, B, C, R)                    \
-- 
2.31.1

Reply via email to