This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH i386 AVX512] [19/n] Extends AVX-512 broadcasts.


On Fri, Aug 15, 2014 at 1:52 PM, Kirill Yukhin <kirill.yukhin@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]