[AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets.
authorKirill Yukhin <kirill.yukhin@intel.com>
Mon, 30 Nov 2015 10:50:56 +0000 (10:50 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Mon, 30 Nov 2015 10:50:56 +0000 (10:50 +0000)
gcc/
* config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
(define_insn "*k<logic><mode>"): Use new iterator.

From-SVN: r231061

gcc/ChangeLog
gcc/config/i386/i386.md

index 9fc2049635c195d2b8d5145d3c4f8e9530532d52..29dd741d0e112dbe96a30f12d290db9d680ae7fc 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-30  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
+       (define_insn "*k<logic><mode>"): Use new iterator.
+
 2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/28115
index a57d165f21f89faf7975c2e50537cb7393621c52..cbb9ffd86af5f199768640860e0f1b5cd5d71fe6 100644 (file)
        (any_logic:SWI1248x (match_dup 1)
                            (match_dup 2)))])
 
+(define_mode_iterator SWI1248_AVX512BW
+  [QI HI (SI "TARGET_AVX512BW") (DI "TARGET_AVX512BW")])
+
 (define_insn "*k<logic><mode>"
-  [(set (match_operand:SWI1248_AVX512BWDQ 0 "mask_reg_operand" "=k")
-       (any_logic:SWI1248_AVX512BWDQ (match_operand:SWI1248_AVX512BWDQ 1 "mask_reg_operand" "k")
-                         (match_operand:SWI1248_AVX512BWDQ 2 "mask_reg_operand" "k")))]
+  [(set (match_operand:SWI1248_AVX512BW 0 "mask_reg_operand" "=k")
+       (any_logic:SWI1248_AVX512BW (match_operand:SWI1248_AVX512BW 1 "mask_reg_operand" "k")
+                                   (match_operand:SWI1248_AVX512BW 2 "mask_reg_operand" "k")))]
   "TARGET_AVX512F"
   {
     if (!TARGET_AVX512DQ && <MODE>mode == QImode)