On Tue, Sep 9, 2014 at 1:41 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > On 30 Aug 10:21, Uros Bizjak wrote: > Hello, >> It looks to me that _SCALAR unspecs are redundant, and should be >> possible to use UNSPEC_REDUCE for all patterns without unwanted >> matching. > Updated patch in the bottom > gcc/ > * config/i386/i386.c > (ix86_expand_args_builtin): Handle avx512dq_rangepv8df_mask_round, > avx512dq_rangepv16sf_mask_round, avx512dq_rangepv4df_mask, > avx512dq_rangepv8sf_mask, avx512dq_rangepv2df_mask, > avx512dq_rangepv4sf_mask. > * config/i386/sse.md > (define_c_enum "unspec"): Add UNSPEC_REDUCE, UNSPEC_FPCLASS, > UNSPEC_RANGE. > (define_insn "<mask_codefor>reducep<mode><mask_name>"): New. > (define_insn "reduces<mode>"): New. > (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"): > New. > (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): New. > (define_insn "avx512dq_fpclass<mode><mask_scalar_merge_name>"): New. > (define_insn "avx512dq_vmfpclass<mode>"): New. > > Bootstrapped. > Is it ok for trunk?
OK. Thanks, Uros.