On 6/3/19 5:06 AM, Jakub Jelinek wrote:
> 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....@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.
Can't argue with the too many ia32 builtins.  If we easily collapse
things the way you suggest, it'd be better.

jeff

Reply via email to