On Fri, Aug 15, 2014 at 1:52 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > Hello, > This patch introduces new patterns to support > AVX-512Vl,DQ broadcast insns. > > Bootstrapped. > New tests on top of patch-set all pass > under simulator. > > Is it ok for trunk? > > gcc/ > * config/i386/sse.md > (define_mode_iterator VI4F_BRCST32x2): New. > (define_mode_attr 64x2_mode): New. > (define_mode_attr 32x2mode): New. > (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"): > New. > (define_insn "<mask_codefor>avx512vl_broadcast<mode><mask_name>_1"): > New. > (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"): > New. > (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"): > New.
Can you avoid insn constraints like: > + "TARGET_AVX512DQ && (<MODE_SIZE> == 64 || TARGET_AVX512VL)" This should be split to two insn patterns, each with different baseline insn constraint. Uros.