AVX-512. Add narrowing vpmov

Programming / Compilers / GCC - kyukhin [138bc75d-0d04-0410-961f-82ee72b054a4] - 29 August 2014 07:31 UTC

gcc/
- config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes.
- config/i386/sse.md (define_mode_iterator VI4_128_8_256): New. (define_mode_iterator VI2_128_4_256): Ditto. (define_mode_iterator PMOV_DST_MODE): Rename into (define_mode_iterator PMOV_DST_MODE_1): this. (define_insn "*avx512f_2"): Use PMOV_DST_MODE_1 mode iterator. (define_insn "avx512f_2_mask"): Ditto. (define_insn "avx512f_2_mask"): Ditto. (define_insn "*avx512bw_v32hiv32qi2"): New. (define_insn "avx512bw_v32hiv32qi2_mask"): Ditto. (define_expand "avx512bw_v32hiv32qi2_store_mask"): Ditto. (define_mode_iterator PMOV_DST_MODE_2): New. (define_insn "*avx512vl_2"): Ditto. (define_insn "_2_mask"): Ditto. (define_expand "_2_store_mask"): Ditto. (define_mode_iterator PMOV_SRC_MODE_3): Ditto. (define_mode_attr pmov_dst_3): Ditto. (define_mode_attr pmov_dst_zeroed_3): Ditto. (define_mode_attr pmov_suff_3): Ditto. (define_insn "*avx512vl_vqi2"): Ditto. (define_insn "*avx512vl_v2div2qi2_store"): Ditto. (define_insn "avx512vl_v2div2qi2_mask"): Ditto. (define_insn "avx512vl_v2div2qi2_store_mask"): Ditto. (define_insn "*avx512vl_v4qi2_store"): Ditto. (define_insn "avx512vl_v4qi2_mask"): Ditto. (define_insn "avx512vl_v4qi2_store_mask"): Ditto. (define_insn "*avx512vl_v8qi2_store"): Ditto. (define_insn "avx512vl_v8qi2_mask"): Ditto. (define_insn "avx512vl_v8qi2_store_mask"): Ditto. (define_mode_iterator PMOV_SRC_MODE_4): Ditto. (define_mode_attr pmov_dst_4): Ditto. (define_mode_attr pmov_dst_zeroed_4): Ditto. (define_mode_attr pmov_suff_4): Ditto. (define_insn "*avx512vl_vhi2"): Ditto. (define_insn "*avx512vl_v4hi2_store"): Ditto. (define_insn "avx512vl_v4hi2_mask"): Ditto. (define_insn "avx512vl_v4hi2_store_mask"): Ditto. (define_insn "*avx512vl_v2div2hi2_store"): Ditto. (define_insn "avx512vl_v2div2hi2_mask"): Ditto. (define_insn "avx512vl_v2div2hi2_store_mask"): Ditto. (define_insn "*avx512vl_v2div2si2"): Ditto. (define_insn "*avx512vl_v2div2si2_store"): Ditto. (define_insn "avx512vl_v2div2si2_mask"): Ditto. (define_insn "avx512vl_v2div2si2_store_mask"): Ditto.

da982d5 AVX-512. Add narrowing vpmov.
gcc/ChangeLog | 59 +++++
gcc/config/i386/i386-modes.def | 3 +
gcc/config/i386/sse.md | 530 +++++++++++++++++++++++++++++++++++++++-
3 files changed, 579 insertions(+), 13 deletions(-)

Upstream: gcc.gnu.org


  • Share