Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-25 Thread Richard Henderson
On 11/01/2013 10:19 PM, Kirill Yukhin wrote: Hello Richard, On 21 Oct 16:01, Richard Henderson wrote: Error on V16SF. Probably better to fill this out. Thanks, fixed. Better to just use sseinsnmode here, as it's a compile-time constant. Fixed. +(define_insn avx512f_storemode_mask

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-11 Thread Kirill Yukhin
Hello, On 05 Nov 16:05, Kirill Yukhin wrote: Is it ok with that change? Ping? -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-11 Thread Richard Henderson
On 11/05/2013 11:05 PM, Kirill Yukhin wrote: Hello, Small correction. On 01 Nov 16:19, Kirill Yukhin wrote: +(define_insn avx512f_storemode_mask + [(set (match_operand:VI48F_512 0 memory_operand =m) +(vec_merge:VI48F_512 + (match_operand:VI48F_512 1 register_operand v) +

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-05 Thread Kirill Yukhin
Hello, On 01 Nov 16:19, Kirill Yukhin wrote: Coould you pls take a look? PING. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-05 Thread Kirill Yukhin
Hello, Small correction. On 01 Nov 16:19, Kirill Yukhin wrote: +(define_insn avx512f_storemode_mask + [(set (match_operand:VI48F_512 0 memory_operand =m) + (vec_merge:VI48F_512 + (match_operand:VI48F_512 1 register_operand v) + (match_dup 0) +

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-29 Thread Kirill Yukhin
Hello Richard, On 28 Oct 14:45, Richard Henderson wrote: On 10/28/2013 01:58 PM, Kirill Yukhin wrote: Hello Richard, On 28 Oct 08:20, Richard Henderson wrote: Why is a masked *scalar* operation useful? The reason the instructions exist is so that you can do fully fault correct

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-29 Thread Richard Henderson
On 10/29/2013 03:02 AM, Kirill Yukhin wrote: Hello Richard, On 28 Oct 14:45, Richard Henderson wrote: On 10/28/2013 01:58 PM, Kirill Yukhin wrote: Hello Richard, On 28 Oct 08:20, Richard Henderson wrote: Why is a masked *scalar* operation useful? The reason the instructions exist is so

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-28 Thread Kirill Yukhin
Hello Richard, On 22 Oct 08:16, Richard Henderson wrote: On 10/22/2013 07:42 AM, Kirill Yukhin wrote: Hello Richard, Thanks for remarks, they all seems reasonable. One question On 21 Oct 16:01, Richard Henderson wrote: +(define_insn avx512f_movesmode_mask + [(set

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-28 Thread Richard Henderson
On 10/28/2013 03:24 AM, Kirill Yukhin wrote: Hello Richard, On 22 Oct 08:16, Richard Henderson wrote: On 10/22/2013 07:42 AM, Kirill Yukhin wrote: Hello Richard, Thanks for remarks, they all seems reasonable. One question On 21 Oct 16:01, Richard Henderson wrote: +(define_insn

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-28 Thread Kirill Yukhin
Hello Richard, On 28 Oct 08:20, Richard Henderson wrote: Why is a masked *scalar* operation useful? The reason the instructions exist is so that you can do fully fault correct predicated scalar algorithms. I example. In fact, with some hacky tricks, you can fully predicate normal C code in the

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-28 Thread Richard Henderson
On 10/28/2013 01:58 PM, Kirill Yukhin wrote: Hello Richard, On 28 Oct 08:20, Richard Henderson wrote: Why is a masked *scalar* operation useful? The reason the instructions exist is so that you can do fully fault correct predicated scalar algorithms. Using VEC_MERGE isn't the proper

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-22 Thread Kirill Yukhin
Hello Richard, Thanks for remarks, they all seems reasonable. One question On 21 Oct 16:01, Richard Henderson wrote: +(define_insn avx512f_movesmode_mask + [(set (match_operand:VF_128 0 register_operand =v) + (vec_merge:VF_128 + (vec_merge:VF_128 + (match_operand:VF_128 2

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-22 Thread Richard Henderson
On 10/22/2013 07:42 AM, Kirill Yukhin wrote: Hello Richard, Thanks for remarks, they all seems reasonable. One question On 21 Oct 16:01, Richard Henderson wrote: +(define_insn avx512f_movesmode_mask + [(set (match_operand:VF_128 0 register_operand =v) + (vec_merge:VF_128 +

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-10-21 Thread Richard Henderson
On 10/17/2013 07:15 AM, Kirill Yukhin wrote: +(define_mode_attr ssescalarsize + [(V8DI 64) (V4DI 64) (V2DI 64) + (V32HI 16) (V16HI 16) (V8HI 16) + (V16SI 32) (V8SI 32) (V4SI 32) + (V16SF 16) (V8DF 64)]) Error on V16SF. Probably better to fill this out. +(define_insn