[PATCH] Add missing avx512dqintrin.h _mm_mask_fpclass_s[sd]_mask (PR target/89803)

Jakub Jelinek jakub@redhat.com
Mon Jun 3 11:06:00 GMT 2019


On Mon, Jun 03, 2019 at 06:01:40PM +0800, Hongtao Liu wrote:
>   The following patch adds forgotten avx512f fpclass instrinsics for
> masked scalar operations.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512),
> ok for trunk?
> 
> Changelog:
> 
> gcc/
> +2019-03-24 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.
> + * config/i386/i386-builtin.def
> + (__builtin_ia32_fpclassss_mask, _builtin_ia32_fpclasssd_mask):
> + New builtins.
> + * config/i386/sse.md
> + (define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>):
> + Modified with mask.

Given that the __builtin_ia32_fpclasss[sd] builtins are AVX512DQ only,
wouldn't it make more sense to remove the __builtin_ia32_fpclasss[sd]
builtins rather than keep them, adjust _mm_mask_fpclass_ss/_mm_mask_fpclass_sd
so that they use these new builtins instead of old and pass in -1 and
make sure we emit the same code as before for those intrinsics?

We have way too many ia32 builtins.

	Jakub



More information about the Gcc-patches mailing list