aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-10-14 08:49:23 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-10-14 08:49:23 +0000
commit9945a4328a9ad2b72cfdd6a848e86d8abdfa26fd (patch)
tree4a0f4fac8bc99aa055f11442abf83a3b93fc0c79
parent7c3a34ae948d77db7c2a4fc31c3ec1d0e1f5855e (diff)
downloadgcc-9945a4328a9ad2b72cfdd6a848e86d8abdfa26fd.zip
gcc-9945a4328a9ad2b72cfdd6a848e86d8abdfa26fd.tar.gz
gcc-9945a4328a9ad2b72cfdd6a848e86d8abdfa26fd.tar.bz2
AVX-512. 72/n. Extend VI itterator.
gcc/ * config/i386/i386.c (ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes. * config/i386/sse.md (define_mode_iterator VI): Add V64QI and V32HI modes. 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: r216190
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/config/i386/i386.c2
-rw-r--r--gcc/config/i386/sse.md4
3 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e8041c4..b589752 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -7,6 +7,20 @@
Kirill Yukhin <kirill.yukhin@intel.com>
Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+ * config/i386/i386.c
+ (ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes.
+ * config/i386/sse.md
+ (define_mode_iterator VI): Add V64QI and V32HI modes.
+
+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/sse.md (define_mode_attr avx2_avx512f): Remove.
2014-10-14 Alexander Ivchenko <alexander.ivchenko@intel.com>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index a485bb1..c4f2da1 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -17540,8 +17540,10 @@ ix86_expand_vector_logical_operator (enum rtx_code code, enum machine_mode mode,
{
case V4SFmode:
case V8SFmode:
+ case V16SFmode:
case V2DFmode:
case V4DFmode:
+ case V8DFmode:
dst = gen_reg_rtx (GET_MODE (SUBREG_REG (op1)));
if (GET_CODE (op2) == CONST_VECTOR)
{
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 55c3ab8..0125cd1 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -264,8 +264,8 @@
;; All vector integer modes
(define_mode_iterator VI
[(V16SI "TARGET_AVX512F") (V8DI "TARGET_AVX512F")
- (V32QI "TARGET_AVX") V16QI
- (V16HI "TARGET_AVX") V8HI
+ (V64QI "TARGET_AVX512BW") (V32QI "TARGET_AVX") V16QI
+ (V32HI "TARGET_AVX512BW") (V16HI "TARGET_AVX") V8HI
(V8SI "TARGET_AVX") V4SI
(V4DI "TARGET_AVX") V2DI])