On Wed, Sep 10, 2014 at 2:37 PM, Kirill Yukhin <kirill.yuk...@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.