]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.
authorAlexander Ivchenko <alexander.ivchenko@intel.com>
Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)
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

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

index a65af976c84a12ab43dee578d15101440557a840..a3a1d0846d459b17788c01db1cc9529db618333f 100644 (file)
@@ -1,3 +1,15 @@
+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 (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>
index 5a3b67ae248ad311a39067b4e2efd5c8ea5e02a2..4d5c20717160a56382118fc009cbe9d0f3b18796 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;