From 6501d5fea036e5d7c4f5f8037f217b6e8d07a60d Mon Sep 17 00:00:00 2001 From: Kirill Yukhin Date: Mon, 30 Nov 2015 10:50:56 +0000 Subject: [PATCH] [AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets. gcc/ * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. (define_insn "*k"): Use new iterator. From-SVN: r231061 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.md | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9fc2049635c..29dd741d0e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-11-30 Kirill Yukhin + + * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. + (define_insn "*k"): Use new iterator. + 2015-11-30 Eric Botcazou PR target/28115 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index a57d165f21f..cbb9ffd86af 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -7996,10 +7996,13 @@ (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" - [(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 == QImode)