[AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets.
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2015 10:50:56 +0000 (10:50 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
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.

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

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

index 9fc2049..29dd741 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 a57d165..cbb9ffd 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)