[PATCH][AVX512] Add forgotten intrinsics.

Uros Bizjak ubizjak@gmail.com
Tue Jan 21 14:24:00 GMT 2014


On Tue, Jan 21, 2014 at 2:42 PM, Ilya Tocar <tocarip.intel@gmail.com> wrote:

> I found out that we forgot to implement some of AVX512 intrinsics.
> Here is a patch that adds them. Sorry for huge patch, but changes are
> mostly trivial.
> Ok for trunk?

> +(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask_store"
> +  [(set (match_operand:PMOV_DST_MODE 0 "nonimmediate_operand" "=m")
> +    (vec_merge:PMOV_DST_MODE
> +      (any_truncate:PMOV_DST_MODE
> +        (match_operand:<pmov_src_mode> 1 "register_operand" "v"))
> +      (match_dup 0)
> +      (match_operand:<avx512fmaskmode> 2 "register_operand" "k")))]
> +  "TARGET_AVX512F"
> +  "vpmov<trunsuffix><pmov_suff>\t{%1, %0%{%2%}|%0%{%2%}, %1}"
> +  [(set_attr "type" "ssemov")
> +   (set_attr "memory" "store")
> +   (set_attr "prefix" "evex")
> +   (set_attr "mode" "<sseinsnmode>")])

This is the same as the second alternative of the
avx512f_<code><pmov_src_lower>2_mask pattern. Please change the above
into an expander to reuse existing pattern.

Uros.



More information about the Gcc-patches mailing list