Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Kirill Yukhin
On 26 Jan 13:05, Jakub Jelinek wrote: > On Thu, Jan 26, 2017 at 03:53:44AM -0800, Kirill Yukhin wrote: > > Hi, > > On 26 Jan 12:49, Thomas Schwinge wrote: > > > Hi! > > > > > > On Thu, 26 Jan 2017 02:44:56 -0800, Kirill Yukhin > > > wrote: > > > > On 26 Jan 10:14, Thomas

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Jakub Jelinek
On Thu, Jan 26, 2017 at 03:53:44AM -0800, Kirill Yukhin wrote: > Hi, > On 26 Jan 12:49, Thomas Schwinge wrote: > > Hi! > > > > On Thu, 26 Jan 2017 02:44:56 -0800, Kirill Yukhin > > wrote: > > > On 26 Jan 10:14, Thomas Schwinge wrote: > > > > I see: > > > > > > > >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Kirill Yukhin
Hi, On 26 Jan 12:49, Thomas Schwinge wrote: > Hi! > > On Thu, 26 Jan 2017 02:44:56 -0800, Kirill Yukhin > wrote: > > On 26 Jan 10:14, Thomas Schwinge wrote: > > > I see: > > > > > > {+FAIL: gcc.target/i386/avx512f-ktestw-2.c (test for excess errors)+} > > >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Thomas Schwinge
Hi! On Thu, 26 Jan 2017 02:44:56 -0800, Kirill Yukhin wrote: > On 26 Jan 10:14, Thomas Schwinge wrote: > > I see: > > > > {+FAIL: gcc.target/i386/avx512f-ktestw-2.c (test for excess errors)+} > > {+UNRESOLVED: gcc.target/i386/avx512f-ktestw-2.c compilation

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Uros Bizjak
On Thu, Jan 26, 2017 at 12:00 PM, Jakub Jelinek wrote: > On Thu, Jan 26, 2017 at 11:54:52AM +0100, Uros Bizjak wrote: >> On Thu, Jan 26, 2017 at 11:51 AM, Jakub Jelinek wrote: >> > On Thu, Jan 26, 2017 at 02:44:56AM -0800, Kirill Yukhin wrote: >> >> Hello

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Jakub Jelinek
On Thu, Jan 26, 2017 at 11:54:52AM +0100, Uros Bizjak wrote: > On Thu, Jan 26, 2017 at 11:51 AM, Jakub Jelinek wrote: > > On Thu, Jan 26, 2017 at 02:44:56AM -0800, Kirill Yukhin wrote: > >> Hello Thomas, > >> On 26 Jan 10:14, Thomas Schwinge wrote: > >> > I see: > >> > > >> >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Uros Bizjak
On Thu, Jan 26, 2017 at 11:51 AM, Jakub Jelinek wrote: > On Thu, Jan 26, 2017 at 02:44:56AM -0800, Kirill Yukhin wrote: >> Hello Thomas, >> On 26 Jan 10:14, Thomas Schwinge wrote: >> > I see: >> > >> > {+FAIL: gcc.target/i386/avx512f-ktestw-2.c (test for excess errors)+} >>

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Jakub Jelinek
On Thu, Jan 26, 2017 at 02:44:56AM -0800, Kirill Yukhin wrote: > Hello Thomas, > On 26 Jan 10:14, Thomas Schwinge wrote: > > I see: > > > > {+FAIL: gcc.target/i386/avx512f-ktestw-2.c (test for excess errors)+} > > {+UNRESOLVED: gcc.target/i386/avx512f-ktestw-2.c compilation failed to > >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Kirill Yukhin
Hello Thomas, On 26 Jan 10:14, Thomas Schwinge wrote: > I see: > > {+FAIL: gcc.target/i386/avx512f-ktestw-2.c (test for excess errors)+} > {+UNRESOLVED: gcc.target/i386/avx512f-ktestw-2.c compilation failed to > produce executable+} > > ... because of: > > /tmp/ccjv3mX2.s: Assembler

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Uros Bizjak
On Thu, Jan 26, 2017 at 10:14 AM, Thomas Schwinge wrote: > Hi! > > On Fri, 20 Jan 2017 23:03:53 +0300, Andrew Senkevich > wrote: >> diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ktestw-2.c >>

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-26 Thread Thomas Schwinge
Hi! On Fri, 20 Jan 2017 23:03:53 +0300, Andrew Senkevich wrote: > diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ktestw-2.c > b/gcc/testsuite/gcc.target/i386/avx512f-ktestw-2.c > new file mode 100644 > index 000..6602c7a > --- /dev/null > +++

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-23 Thread Kirill Yukhin
On 20 Jan 23:03, Andrew Senkevich wrote: > 2017-01-20 20:08 GMT+03:00 Kirill Yukhin : > > Hi, > > On 20 Jan 14:46, Uros Bizjak wrote: > >> On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich > >> wrote: > >> > >> > here is intrinsics for

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-21 Thread Richard Biener
On January 20, 2017 9:03:53 PM GMT+01:00, Andrew Senkevich wrote: >2017-01-20 20:08 GMT+03:00 Kirill Yukhin : >> Hi, >> On 20 Jan 14:46, Uros Bizjak wrote: >>> On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich >>>

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-20 Thread Andrew Senkevich
2017-01-20 20:08 GMT+03:00 Kirill Yukhin : > Hi, > On 20 Jan 14:46, Uros Bizjak wrote: >> On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich >> wrote: >> >> > here is intrinsics for ktest{b,w,d,q} and kortest{b,w,d,q}. Is it Ok? >> > >> > gcc/

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-20 Thread Kirill Yukhin
Hi, On 20 Jan 14:46, Uros Bizjak wrote: > On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich > wrote: > > > here is intrinsics for ktest{b,w,d,q} and kortest{b,w,d,q}. Is it Ok? > > > > gcc/ > > * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-20 Thread Uros Bizjak
On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich wrote: > here is intrinsics for ktest{b,w,d,q} and kortest{b,w,d,q}. Is it Ok? > > gcc/ > * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics. > * config/i386/avx512dqintrin.h: Ditto. > *

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-20 Thread Andrew Senkevich
2017-01-19 20:55 GMT+03:00 Kirill Yukhin : > On 19 Jan 19:42, Andrew Senkevich wrote: >> 2017-01-19 13:39 GMT+03:00 Kirill Yukhin : >> > Hi Andrew, >> > On 18 Jan 15:45, Andrew Senkevich wrote: >> >> 2017-01-17 16:51 GMT+03:00 Jakub Jelinek

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-19 Thread Kirill Yukhin
On 19 Jan 19:42, Andrew Senkevich wrote: > 2017-01-19 13:39 GMT+03:00 Kirill Yukhin : > > Hi Andrew, > > On 18 Jan 15:45, Andrew Senkevich wrote: > >> 2017-01-17 16:51 GMT+03:00 Jakub Jelinek : > >> > On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-19 Thread Andrew Senkevich
2017-01-19 13:39 GMT+03:00 Kirill Yukhin : > Hi Andrew, > On 18 Jan 15:45, Andrew Senkevich wrote: >> 2017-01-17 16:51 GMT+03:00 Jakub Jelinek : >> > On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew Senkevich wrote: >> >> > I've played a bit w/ SDE. And

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-19 Thread Kirill Yukhin
Hi Andrew, On 18 Jan 15:45, Andrew Senkevich wrote: > 2017-01-17 16:51 GMT+03:00 Jakub Jelinek : > > On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew Senkevich wrote: > >> > I've played a bit w/ SDE. And looks like operands are not early clobber: > >> > TID0: INS

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-18 Thread Uros Bizjak
On Wed, Jan 18, 2017 at 1:45 PM, Andrew Senkevich wrote: > 2017-01-17 16:51 GMT+03:00 Jakub Jelinek : >> On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew Senkevich wrote: >>> > I've played a bit w/ SDE. And looks like operands are not early clobber:

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-18 Thread Andrew Senkevich
2017-01-17 16:51 GMT+03:00 Jakub Jelinek : > On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew Senkevich wrote: >> > I've played a bit w/ SDE. And looks like operands are not early clobber: >> > TID0: INS 0x004003ee AVX512VEX kmovd k0, eax >> > TID0: k0 :=

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Jakub Jelinek
On Tue, Jan 17, 2017 at 04:03:08PM +0300, Andrew Senkevich wrote: > > I've played a bit w/ SDE. And looks like operands are not early clobber: > > TID0: INS 0x004003ee AVX512VEX kmovd k0, eax > > TID0: k0 := _ > > ... > > TID0: INS 0x004003f4

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Andrew Senkevich
2017-01-17 15:30 GMT+03:00 Kirill Yukhin : > Hi Anrey, > On 17 Jan 14:04, Andrew Senkevich wrote: >> 2017-01-17 1:55 GMT+03:00 Jakub Jelinek : >> > On Tue, Jan 17, 2017 at 01:30:11AM +0300, Andrew Senkevich wrote: >> >> here is one more part of intrinsics

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Kirill Yukhin
Hi Anrey, On 17 Jan 14:04, Andrew Senkevich wrote: > 2017-01-17 1:55 GMT+03:00 Jakub Jelinek : > > On Tue, Jan 17, 2017 at 01:30:11AM +0300, Andrew Senkevich wrote: > >> here is one more part of intrinsics for k-mask registers shifts: > > > > The software developer manuals

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Uros Bizjak
On Tue, Jan 17, 2017 at 12:04 PM, Andrew Senkevich wrote: > 2017-01-17 1:55 GMT+03:00 Jakub Jelinek : >> On Tue, Jan 17, 2017 at 01:30:11AM +0300, Andrew Senkevich wrote: >>> here is one more part of intrinsics for k-mask registers shifts: >> >> The

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Andrew Senkevich
2017-01-17 1:55 GMT+03:00 Jakub Jelinek : > On Tue, Jan 17, 2017 at 01:30:11AM +0300, Andrew Senkevich wrote: >> here is one more part of intrinsics for k-mask registers shifts: > > The software developer manuals describe KSHIFT{L,R}* like: > KSHIFTLW > COUNT <- imm8[7:0] >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-17 Thread Uros Bizjak
On Mon, Jan 16, 2017 at 11:30 PM, Andrew Senkevich 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. >

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-16 Thread Jakub Jelinek
On Tue, Jan 17, 2017 at 01:30:11AM +0300, Andrew Senkevich wrote: > here is one more part of intrinsics for k-mask registers shifts: The software developer manuals describe KSHIFT{L,R}* like: KSHIFTLW COUNT <- imm8[7:0] DEST[MAX_KL-1:0] <- 0 IF COUNT <=15 THEN DEST[15:0] <- SRC1[15:0] << COUNT;

Re: [PATCH] Add AVX512 k-mask intrinsics

2017-01-16 Thread Andrew Senkevich
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. *

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-16 Thread Uros Bizjak
On Thu, Dec 15, 2016 at 7:55 PM, Andrew Senkevich wrote: > 2016-12-15 19:51 GMT+03:00 Uros Bizjak : >> On Thu, Dec 15, 2016 at 2:31 PM, Andrew Senkevich >> wrote: >>> 2016-12-14 22:55 GMT+03:00 Uros Bizjak

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-15 Thread Andrew Senkevich
2016-12-15 19:51 GMT+03:00 Uros Bizjak : > On Thu, Dec 15, 2016 at 2:31 PM, Andrew Senkevich > wrote: >> 2016-12-14 22:55 GMT+03:00 Uros Bizjak : >>> On Wed, Dec 14, 2016 at 8:04 PM, Andrew Senkevich >>>

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-15 Thread Uros Bizjak
On Thu, Dec 15, 2016 at 2:31 PM, Andrew Senkevich wrote: > 2016-12-14 22:55 GMT+03:00 Uros Bizjak : >> On Wed, Dec 14, 2016 at 8:04 PM, Andrew Senkevich >> wrote: >> >>> here is the second part of k-mask intrinsics,

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-14 Thread Uros Bizjak
On Wed, Dec 14, 2016 at 8:04 PM, Andrew Senkevich wrote: > here is the second part of k-mask intrinsics, is it Ok? > --- a/gcc/config/i386/sse.md > +++ b/gcc/config/i386/sse.md > @@ -1309,12 +1309,30 @@ > ;; Mask variant shift mnemonics > (define_code_attr mshift

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-14 Thread Andrew Senkevich
2016-12-02 21:31 GMT+03:00 Uros Bizjak : . . . . . >> >> I split this patch after last updates in md files, here is the first >> part which doesn't change md files. >> Regtested on x86_64-linux-gnu. Is this part ok? > > There is no point to scan for kmovX insn in e.g.: > > +/*

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-05 Thread H.J. Lu
On Mon, Dec 5, 2016 at 6:59 AM, Andrew Senkevich wrote: > 2016-12-02 21:31 GMT+03:00 Uros Bizjak : >> On Fri, Dec 2, 2016 at 6:44 PM, Andrew Senkevich >> wrote: >>> 2016-11-11 22:14 GMT+03:00 Uros Bizjak

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-05 Thread Andrew Senkevich
2016-12-02 21:31 GMT+03:00 Uros Bizjak : > On Fri, Dec 2, 2016 at 6:44 PM, Andrew Senkevich > wrote: >> 2016-11-11 22:14 GMT+03:00 Uros Bizjak : >>> On Fri, Nov 11, 2016 at 7:23 PM, Andrew Senkevich >>>

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-02 Thread Uros Bizjak
On Fri, Dec 2, 2016 at 6:44 PM, Andrew Senkevich wrote: > 2016-11-11 22:14 GMT+03:00 Uros Bizjak : >> On Fri, Nov 11, 2016 at 7:23 PM, Andrew Senkevich >> wrote: >>> 2016-11-11 20:56 GMT+03:00 Uros Bizjak

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-12-02 Thread Andrew Senkevich
2016-11-11 22:14 GMT+03:00 Uros Bizjak : > On Fri, Nov 11, 2016 at 7:23 PM, Andrew Senkevich > wrote: >> 2016-11-11 20:56 GMT+03:00 Uros Bizjak : >>> On Fri, Nov 11, 2016 at 6:50 PM, Uros Bizjak wrote: On

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Uros Bizjak
On Fri, Nov 11, 2016 at 7:23 PM, Andrew Senkevich wrote: > 2016-11-11 20:56 GMT+03:00 Uros Bizjak : >> On Fri, Nov 11, 2016 at 6:50 PM, Uros Bizjak wrote: >>> On Fri, Nov 11, 2016 at 6:38 PM, Andrew Senkevich >>>

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Andrew Senkevich
2016-11-11 18:26 GMT+03:00 Marc Glisse : > On Fri, 11 Nov 2016, Andrew Senkevich wrote: > >> +extern __inline __mmask32 >> +__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) >> +_kand_mask32 (__mmask32 __A, __mmask32 __B) >> +{ >> + return (__mmask32)

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Andrew Senkevich
2016-11-11 20:56 GMT+03:00 Uros Bizjak : > On Fri, Nov 11, 2016 at 6:50 PM, Uros Bizjak wrote: >> On Fri, Nov 11, 2016 at 6:38 PM, Andrew Senkevich >> wrote: >>> 2016-11-11 17:34 GMT+03:00 Uros Bizjak :

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Uros Bizjak
On Fri, Nov 11, 2016 at 6:50 PM, Uros Bizjak wrote: > On Fri, Nov 11, 2016 at 6:38 PM, Andrew Senkevich > wrote: >> 2016-11-11 17:34 GMT+03:00 Uros Bizjak : >>> Some quick remarks: >>> >>> +(define_insn "kmovb" >>> + [(set

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Uros Bizjak
On Fri, Nov 11, 2016 at 6:38 PM, Andrew Senkevich wrote: > 2016-11-11 17:34 GMT+03:00 Uros Bizjak : >> Some quick remarks: >> >> +(define_insn "kmovb" >> + [(set (match_operand:QI 0 "nonimmediate_operand" "=k,k") >> + (unspec:QI >> +

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Andrew Senkevich
2016-11-11 17:34 GMT+03:00 Uros Bizjak : > Some quick remarks: > > +(define_insn "kmovb" > + [(set (match_operand:QI 0 "nonimmediate_operand" "=k,k") > + (unspec:QI > + [(match_operand:QI 1 "nonimmediate_operand" "r,km")] > + UNSPEC_KMOV))] > + "!(MEM_P (operands[0]) &&

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Marc Glisse
On Fri, 11 Nov 2016, Andrew Senkevich wrote: +extern __inline __mmask32 +__attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) +_kand_mask32 (__mmask32 __A, __mmask32 __B) +{ + return (__mmask32) __builtin_ia32_kandsi ((__mmask32) __A, (__mmask32) __B); +} (picking one random

Re: [PATCH] Add AVX512 k-mask intrinsics

2016-11-11 Thread Uros Bizjak
Some quick remarks: +(define_insn "kmovb" + [(set (match_operand:QI 0 "nonimmediate_operand" "=k,k") + (unspec:QI + [(match_operand:QI 1 "nonimmediate_operand" "r,km")] + UNSPEC_KMOV))] + "!(MEM_P (operands[0]) && MEM_P (operands[1])) && TARGET_AVX512DQ" + "@ + kmovb\t{%k1, %0|%0, %k1} +