summaryrefslogtreecommitdiff
path: root/gcc/config/i386
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2019-04-17 21:23:45 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-04-17 21:23:45 +0200
commitaadd9a6e26915538eb1417c36c43739b09acfe48 (patch)
treea48ba8ca69c0e1c7ab20ae91f40befd281bf9546 /gcc/config/i386
parent38de8b39ef9202c742226c70484a19f6df84b7cb (diff)
downloadgcc-aadd9a6e26915538eb1417c36c43739b09acfe48.tar.gz
re PR target/90125 (Typo of AVX512 intrinsics)
PR target/90125 * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3. PR target/90125 * gcc.target/i386/avx512f-vfmsubXXXss-2.c (avx512f_test): Adjust constants to ensure precise result even when not using fma. * gcc.target/i386/avx512f-vfnmaddXXXss-2.c (avx512f_test): Likewise. * gcc.target/i386/avx512f-vfmaddXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfmaddXXXss-3.c: New test. * gcc.target/i386/avx512f-vfmsubXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfmsubXXXss-3.c: New test. * gcc.target/i386/avx512f-vfnmaddXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfnmaddXXXss-3.c: New test. * gcc.target/i386/avx512f-vfnmsubXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfnmsubXXXss-3.c: New test. From-SVN: r270421
Diffstat (limited to 'gcc/config/i386')
-rw-r--r--gcc/config/i386/avx512fintrin.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h
index afcba5dd042..e35eedb9268 100644
--- a/gcc/config/i386/avx512fintrin.h
+++ b/gcc/config/i386/avx512fintrin.h
@@ -12104,10 +12104,10 @@ _mm_maskz_fnmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B,
(__m128) __builtin_ia32_vfmaddss3_mask3 (A, B, C, U, R)
#define _mm_maskz_fmadd_round_sd(U, A, B, C, R) \
- (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, B, C, U, R)
+ (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, B, C, U, R)
#define _mm_maskz_fmadd_round_ss(U, A, B, C, R) \
- (__m128) __builtin_ia32_vfmaddss3_mask3 (A, B, C, U, R)
+ (__m128) __builtin_ia32_vfmaddss3_maskz (A, B, C, U, R)
#define _mm_mask_fmsub_round_sd(A, U, B, C, R) \
(__m128d) __builtin_ia32_vfmaddsd3_mask (A, B, -(C), U, R)
@@ -12122,10 +12122,10 @@ _mm_maskz_fnmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B,
(__m128) __builtin_ia32_vfmsubss3_mask3 (A, B, C, U, R)
#define _mm_maskz_fmsub_round_sd(U, A, B, C, R) \
- (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, B, -(C), U, R)
+ (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, B, -(C), U, R)
#define _mm_maskz_fmsub_round_ss(U, A, B, C, R) \
- (__m128) __builtin_ia32_vfmaddss3_mask3 (A, B, -(C), U, R)
+ (__m128) __builtin_ia32_vfmaddss3_maskz (A, B, -(C), U, R)
#define _mm_mask_fnmadd_round_sd(A, U, B, C, R) \
(__m128d) __builtin_ia32_vfmaddsd3_mask (A, -(B), C, U, R)
@@ -12140,10 +12140,10 @@ _mm_maskz_fnmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B,
(__m128) __builtin_ia32_vfmaddss3_mask3 (A, -(B), C, U, R)
#define _mm_maskz_fnmadd_round_sd(U, A, B, C, R) \
- (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, -(B), C, U, R)
+ (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, -(B), C, U, R)
#define _mm_maskz_fnmadd_round_ss(U, A, B, C, R) \
- (__m128) __builtin_ia32_vfmaddss3_mask3 (A, -(B), C, U, R)
+ (__m128) __builtin_ia32_vfmaddss3_maskz (A, -(B), C, U, R)
#define _mm_mask_fnmsub_round_sd(A, U, B, C, R) \
(__m128d) __builtin_ia32_vfmaddsd3_mask (A, -(B), -(C), U, R)
@@ -12158,10 +12158,10 @@ _mm_maskz_fnmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B,
(__m128) __builtin_ia32_vfmsubss3_mask3 (A, -(B), C, U, R)
#define _mm_maskz_fnmsub_round_sd(U, A, B, C, R) \
- (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, -(B), -(C), U, R)
+ (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, -(B), -(C), U, R)
#define _mm_maskz_fnmsub_round_ss(U, A, B, C, R) \
- (__m128) __builtin_ia32_vfmaddss3_mask3 (A, -(B), -(C), U, R)
+ (__m128) __builtin_ia32_vfmaddss3_maskz (A, -(B), -(C), U, R)
#endif
#ifdef __OPTIMIZE__