aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-10-14 08:56:56 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-10-14 08:56:56 +0000
commitebe87abf2bdad817320b230638365ebcfd2bda1d (patch)
tree45fe589531d9d78f3a5e82896c8098c63c668183
parent0ab03ea08c3886ad009afda41f3cd2df7733cfb1 (diff)
downloadgcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.zip
gcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.tar.gz
gcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.tar.bz2
AVX-512. 77/n. Use blend for cond-set V32HI and V64QI.
gcc/ * config/i386/i386.c (ix86_expand_sse_movcc): Handle V64QI and V32HI mode. (ix86_expand_int_vcond): Ditto. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r216193
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/i386/i386.c8
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 79dcc11..59ae412 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -8,6 +8,19 @@
Michael Zolotukhin <michael.v.zolotukhin@intel.com>
* config/i386/i386.c
+ (ix86_expand_sse_movcc): Handle V64QI and V32HI mode.
+ (ix86_expand_int_vcond): Ditto.
+
+2014-10-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/i386.c
(emit_reduc_half): Handle V64QI and V32HI mode.
* config/i386/sse.md
(define_mode_iterator VI_AVX512BW): New.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 9deee91..698066b 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -21040,6 +21040,12 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false)
}
break;
+ case V64QImode:
+ gen = gen_avx512bw_blendmv64qi;
+ break;
+ case V32HImode:
+ gen = gen_avx512bw_blendmv32hi;
+ break;
case V16SImode:
gen = gen_avx512f_blendmv16si;
break;
@@ -21356,6 +21362,8 @@ ix86_expand_int_vcond (rtx operands[])
}
break;
+ case V64QImode:
+ case V32HImode:
case V32QImode:
case V16HImode:
case V16QImode: