On Mon, Jan 16, 2017 at 11:30 PM, Andrew Senkevich <andrew.n.senkev...@gmail.com> wrote: > Hi, > > here is one more part of intrinsics for k-mask registers shifts: > > gcc/ > * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics. > * config/i386/avx512dqintrin.h: Ditto. > * config/i386/avx512fintrin.h: Ditto. > * config/i386/i386-builtin-types.def: Add new types. > * gcc/config/i386/i386.c: Handle new types. > * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi, > __builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi, > __builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi, > __builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi, > __builtin_ia32_kshiftridi): New. > * config/i386/sse.md (k<code><mode>2): Rename *k<code><mode>. > > gcc/testsuite/ > * gcc.target/i386/avx512bw-kshiftld-1.c: New test. > * gcc.target/i386/avx512bw-kshiftlq-1.c: Ditto. > * gcc.target/i386/avx512dq-kshiftlb-1.c: Ditto. > * gcc.target/i386/avx512f-kshiftlw-1.c: Ditto. > * gcc.target/i386/avx512bw-kshiftrd-1.c: Ditto. > * gcc.target/i386/avx512bw-kshiftrq-1.c: Ditto. > * gcc.target/i386/avx512dq-kshiftrb-1.c: Ditto. > * gcc.target/i386/avx512f-kshiftrw-1.c: Ditto. > > > Is it Ok for trunk?
-(define_insn "*k<code><mode>" +(define_insn "k<code><mode>2" [(set (match_operand:SWI1248_AVX512BWDQ 0 "register_operand" "=k") (any_lshift:SWI1248_AVX512BWDQ (match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k") Please do not add "2" to the insn name to follow de-facto convention of other mask insn names. Otherwise, OK - but please check Jakub's question first. Uros.