From 1ab8a1b176a006c47b61031a0d5b4bf07c98c316 Mon Sep 17 00:00:00 2001 From: Ilya Enkovich Date: Tue, 10 Nov 2015 12:08:02 +0000 Subject: [PATCH] sse.md (maskload): Rename to ... 2015-11-10 Ilya Enkovich * config/i386/sse.md (maskload): Rename to ... (maskload): ... this. (maskstore): Rename to ... (maskstore): ... this. (maskload): New. (maskstore): New. From-SVN: r230100 --- gcc/ChangeLog | 9 +++++++++ gcc/config/i386/sse.md | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a7421a995de..2360be2c380 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-11-10 Ilya Enkovich + + * config/i386/sse.md (maskload): Rename to ... + (maskload): ... this. + (maskstore): Rename to ... + (maskstore): ... this. + (maskload): New. + (maskstore): New. + 2015-11-10 Ilya Enkovich * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 57feb27798b..f804255aedf 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -18135,7 +18135,7 @@ (set_attr "btver2_decode" "vector") (set_attr "mode" "")]) -(define_expand "maskload" +(define_expand "maskload" [(set (match_operand:V48_AVX2 0 "register_operand") (unspec:V48_AVX2 [(match_operand: 2 "register_operand") @@ -18143,7 +18143,23 @@ UNSPEC_MASKMOV))] "TARGET_AVX") -(define_expand "maskstore" +(define_expand "maskload" + [(set (match_operand:V48_AVX512VL 0 "register_operand") + (vec_merge:V48_AVX512VL + (match_operand:V48_AVX512VL 1 "memory_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512F") + +(define_expand "maskload" + [(set (match_operand:VI12_AVX512VL 0 "register_operand") + (vec_merge:VI12_AVX512VL + (match_operand:VI12_AVX512VL 1 "memory_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512BW") + +(define_expand "maskstore" [(set (match_operand:V48_AVX2 0 "memory_operand") (unspec:V48_AVX2 [(match_operand: 2 "register_operand") @@ -18152,6 +18168,22 @@ UNSPEC_MASKMOV))] "TARGET_AVX") +(define_expand "maskstore" + [(set (match_operand:V48_AVX512VL 0 "memory_operand") + (vec_merge:V48_AVX512VL + (match_operand:V48_AVX512VL 1 "register_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512F") + +(define_expand "maskstore" + [(set (match_operand:VI12_AVX512VL 0 "memory_operand") + (vec_merge:VI12_AVX512VL + (match_operand:VI12_AVX512VL 1 "register_operand") + (match_dup 0) + (match_operand: 2 "register_operand")))] + "TARGET_AVX512BW") + (define_insn_and_split "avx__" [(set (match_operand:AVX256MODE2P 0 "nonimmediate_operand" "=x,m") (unspec:AVX256MODE2P -- 2.30.2