Hi Ilya, On 08 Oct 18:32, Ilya Enkovich wrote: > Hi, > > This patch adds patterns for vec_cmp optabs. Vector comparison expand code > was moved from VEC_COND_EXPR expanders into a separate functions. AVX-512 > patterns use more simple masked versions. > > Thanks, > Ilya > -- > gcc/ > > 2015-10-08 Ilya Enkovich <enkovich....@gmail.com> > > * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New. > (ix86_expand_int_vec_cmp): New. > (ix86_expand_fp_vec_cmp): New. > * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for > op_true and op_false. > (ix86_int_cmp_code_to_pcmp_immediate): New. > (ix86_fp_cmp_code_to_pcmp_immediate): New. > (ix86_cmp_code_to_pcmp_immediate): New. > (ix86_expand_mask_vec_cmp): New. > (ix86_expand_fp_vec_cmp): New. > (ix86_expand_int_sse_cmp): New. > (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp. > (ix86_expand_fp_vcond): Use ix86_expand_sse_cmp. > (ix86_expand_int_vec_cmp): New. > (ix86_get_mask_mode): New. > (TARGET_VECTORIZE_GET_MASK_MODE): New. > * config/i386/sse.md (avx512fmaskmodelower): New. > (vec_cmp<mode><avx512fmaskmodelower>): New. > (vec_cmp<mode><sseintvecmodelower>): New. > (vec_cmpv2div2di): New. > (vec_cmpu<mode><avx512fmaskmodelower>): New. > (vec_cmpu<mode><sseintvecmodelower>): New. > (vec_cmpuv2div2di): New.
Patch is OK for trunk. (Although vec_cmp and vec_cmpu might be merged w/ susbst). -- Thanks, K