[PATCH i386 AVX512] [34/n] AVX-512. Extend vpermvar insn patterns.

Uros Bizjak ubizjak@gmail.com
Wed Sep 10 17:13:00 GMT 2014


On Wed, Sep 10, 2014 at 2:37 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hello,
> patch in the bottom extends PERMVAR based patterns.
>
> Hello,
>
> Bootstrapped.
> AVX-512* tests on top of patch-set all pass
> under simulator.
>
> Is it ok for trunk?
>
> gcc/
>         * config/i386/sse.md
>         (define_mode_attr avx2_avx512): Rename from avx2_avx512bw.
>         (define_mode_iterator VI48F_256_512): Extend to AVX-512VL.
>         (define_insn "<avx2_avx512>_permvar<mode><mask_name>"): Rename from
>         "<avx2_avx512f>_permvar<mode><mask_name>".
>         (define_insn "<avx512>_permvar<mode><mask_name>"): New.
>         (define_insn "<avx2_avx512>_ashrv<mode><mask_name>" with
>         VI48_AVX512F_AVX512VL mode iterator): Rename from

You can use extended forms of the mode attributes to distinguish
various same-name patterns:

(define_insn "<avx2_avx512>_ashrv<VI48_AVX512F_AVX512VL:mode><mask_name>"):
Rename ...

It is up to you, the description you provided is also OK.

>         "<avx2_avx512f>_ashrv<mode><mask_name>".
>         (define_insn "<avx2_avx512>_ashrv<mode><mask_name>" with
>         VI2_AVX512VL mode iterator): Ditto.
>         (define_insn "<avx2_avx512>_<shift_insn>v<mode><mask_name>" with
>         VI48_AVX512F mode iterator): Rename from
>         "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>".
>         (define_insn "<avx2_avx512>_<shift_insn>v<mode><mask_name>" with
>         VI2_AVX512VL mode iterator): Rename from
>         "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>".

OK for mainline.

Thanks,
Uros.



More information about the Gcc-patches mailing list