Hello, On 22 Sep 18:14, Kirill Yukhin wrote: > Hello, > Patch in the bottom fixes iterator for k<logic> insns > since QI mode is only available for AVX-512DQ. > > It also adds support for kshift[rl][bwdq]. This patterns > will be used for mask load/store autogeneration on which > Ilya Enkovich is working on. > > gcc/ > * config/i386/i386.md (define_code_attr mshift): New. > (define_mode_iterator SWI1248_AVX512BW): Rename ... > (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ > only. > (define_insn "*k<logic><mode>"): Use new iterator name. > (define_insn "*<mshift><mode>3"): New. > > Bootstrapped and regtest in progress > > Is it ok for trunk (if regtest pass)? Emit pattern was wrong (caught by Spec2k6 autogeneration).
Comitted to main trunk as obvious. gcc/ * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix insn emit. -- Thanks, K commit 254e3b944ac96441544d36c438e92a9a09b963b1 Author: Kirill Yukhin <kirill.yuk...@intel.com> Date: Wed Sep 23 16:24:50 2015 +0300 AVX-512. Fix emit in '*<mshift><mode>3' pattern. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index c0911d4..ba5ab32 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -9366,7 +9366,7 @@ (any_lshift:SWI1248_AVX512BWDQ (match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k") (match_operand:QI 2 "immediate_operand" "i")))] "TARGET_AVX512F" - "k<mshift><mskmodesuffix> %2, %1, %0|%0, %1, %2" + "k<mshift><mskmodesuffix>\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "msklog") (set_attr "prefix" "vex")])