aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-08-14 13:20:25 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-08-14 13:20:25 +0000
commit1d944b8a0a28e54affb2a4453f3fa341b6a0adb1 (patch)
treeafe8a3831812b190844b069b8f56cd1db817ab3e /gcc
parent9e4a4dd6518a86c94278a978412e162c4b770c7b (diff)
downloadgcc-1d944b8a0a28e54affb2a4453f3fa341b6a0adb1.zip
gcc-1d944b8a0a28e54affb2a4453f3fa341b6a0adb1.tar.gz
gcc-1d944b8a0a28e54affb2a4453f3fa341b6a0adb1.tar.bz2
i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.
gcc/ * config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode. 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: r213963
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/i386/i386.c6
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a65af97..a3a1d08 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -7,6 +7,18 @@
Kirill Yukhin <kirill.yukhin@intel.com>
Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+ * config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
+ V32HImode.
+
+2014-08-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 (print_reg): Сorrectly print 64-bit mask
registers.
(inline_secondary_memory_needed): Allow 64 bit wide mask registers.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 5a3b67a..4d5c207 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -46474,9 +46474,11 @@ ix86_preferred_simd_mode (enum machine_mode mode)
switch (mode)
{
case QImode:
- return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V32QImode : V16QImode;
+ return TARGET_AVX512BW ? V64QImode :
+ (TARGET_AVX && !TARGET_PREFER_AVX128) ? V32QImode : V16QImode;
case HImode:
- return (TARGET_AVX && !TARGET_PREFER_AVX128) ? V16HImode : V8HImode;
+ return TARGET_AVX512BW ? V32HImode :
+ (TARGET_AVX && !TARGET_PREFER_AVX128) ? V16HImode : V8HImode;
case SImode:
return TARGET_AVX512F ? V16SImode :
(TARGET_AVX && !TARGET_PREFER_AVX128) ? V8SImode : V4SImode;