diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-17 21:23:45 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-17 21:23:45 +0200 |
commit | aadd9a6e26915538eb1417c36c43739b09acfe48 (patch) | |
tree | a48ba8ca69c0e1c7ab20ae91f40befd281bf9546 /gcc/config/i386 | |
parent | 38de8b39ef9202c742226c70484a19f6df84b7cb (diff) | |
download | gcc-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.h | 16 |
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__ |