gcc/
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)
* config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
V32HImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213963 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index a65af97..a3a1d08 100644 (file)
@@ -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.
index 5a3b67a..4d5c207 100644 (file)
@@ -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;