re PR target/89803 (Missing AVX512 intrinsics)
authorHongtao Liu <hongtao.liu@intel.com>
Wed, 5 Jun 2019 06:04:22 +0000 (06:04 +0000)
committerHongtao Liu <liuhongt@gcc.gnu.org>
Wed, 5 Jun 2019 06:04:22 +0000 (06:04 +0000)
commit5259a047c31c5a8c13eba73c914ca325e85eb699
tree468b9c214b8f96a51fc7f41bd0f0531694261fbe
parent34f66a53b4f529f17643c1c1fc68dd3ae3f338ea
re PR target/89803 (Missing AVX512 intrinsics)

gcc/
2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>

PR target/89803
* config/i386/avx512dqintrin.h (_mm_mask_fpclass_ss_mask,
_mm_mask_fpclass_sd_mask): New intrinsics.
(_mm_fpclass_ss_mask, _mm_fpclass_sd_mask): Modified, use new builtins.
* config/i386/i386-builtin.def
(__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask):
New builtins.
(__builtin_ia32_fpclassss, __builtin_ia32_fpclasssd): Deleted.
* config/i386/i386-builtin-types.def (DEF_FUNCTION_TYPE (QI, V2DF, INT),
DEF_FUNCTION_TYPE (QI, V4SF, INT)): Deleted.
* config/i386/i386-expand.c (case QI_FTYPE_V4SF_INT,
case QI_FTYPE_V2SF_INT): Ditto.
* config/i386/sse.md
(define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>):
Extended to insnstructions with mask operands.

gcc/testsuite
2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>

PR target/89803
* gcc.target/i386/avx-1.c (__builtin_ia32_fpclasssss,
__builtin_ia32_fpclasssd): Removed.
(__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define.
* gcc.target/i386/sse-13.c (__builtin_ia32_fpclasssss,
__builtin_ia32_fpclasssd): Removed.
(__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define.
* gcc.target/i386/sse-23.c (__builtin_ia32_fpclasssss,
__builtin_ia32_fpclasssd): Removed.
(__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define.
* gcc.target/i386/avx512dq-vfpclassss-2.c: New.
* gcc.target/i386/avx512dq-vfpclasssd-2.c: New.
* gcc.target/i386/avx512dq-vfpclassss-1.c (avx512f_test):
Add test for _mm_mask_fpclass_ss_mask.
* gcc.target/i386/avx512dq-vfpclasssd-1.c (avx512f_test):
Add test for _mm_mask_fpclass_sd_mask.

From-SVN: r271946
14 files changed:
gcc/ChangeLog
gcc/config/i386/avx512dqintrin.h
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386-expand.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclasssd-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclasssd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-vfpclassss-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclassss-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-13.c
gcc/testsuite/gcc.target/i386/sse-23.c