Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2014-07-10 Thread Uros Bizjak
Hello! > Ping? > While I added the new define_insn_and_split for vec_merge, a bug is > exposed: in config/i386/sse.md, [ define_expand "xop_vmfrcz2" ] > only takes one input, but the corresponding builtin functions have two > inputs, which are shown in i386.c:

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2014-07-09 Thread Cong Hou
Ping? thanks, Cong On Tue, Jul 8, 2014 at 8:23 PM, Xinliang David Li wrote: > Cong, can you ping this patch again? There does not seem to be > pending comments left. > > David > > On Tue, Dec 17, 2013 at 10:05 AM, Cong Hou wrote: >> Ping? >> >> >> thanks, >> Cong >> >> >> On Mon, Dec 2, 2013

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2014-07-08 Thread Xinliang David Li
Cong, can you ping this patch again? There does not seem to be pending comments left. David On Tue, Dec 17, 2013 at 10:05 AM, Cong Hou wrote: > Ping? > > > thanks, > Cong > > > On Mon, Dec 2, 2013 at 5:02 PM, Cong Hou wrote: >> Any comment on this patch? >> >> >> thanks, >> Cong >> >> >> On Fr

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-12-17 Thread Cong Hou
Ping? thanks, Cong On Mon, Dec 2, 2013 at 5:02 PM, Cong Hou wrote: > Any comment on this patch? > > > thanks, > Cong > > > On Fri, Nov 22, 2013 at 11:40 AM, Cong Hou wrote: >> On Fri, Nov 22, 2013 at 3:57 AM, Marc Glisse wrote: >>> On Thu, 21 Nov 2013, Cong Hou wrote: >>> On Thu, Nov 21

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-12-02 Thread Cong Hou
Any comment on this patch? thanks, Cong On Fri, Nov 22, 2013 at 11:40 AM, Cong Hou wrote: > On Fri, Nov 22, 2013 at 3:57 AM, Marc Glisse wrote: >> On Thu, 21 Nov 2013, Cong Hou wrote: >> >>> On Thu, Nov 21, 2013 at 4:39 PM, Marc Glisse wrote: On Thu, 21 Nov 2013, Cong Hou wrote: >>

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-23 Thread Marc Glisse
On Fri, 22 Nov 2013, Cong Hou wrote: IMHO, if PR56788 was fixed, you wouldn't have this issue, and if PR56788 doesn't get fixed, I'll post a patch to remove _mm_frcz_sd and the associated builtin, which would solve your issue as well. I agree. Then I will wait until your patch is merged to the

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-22 Thread Cong Hou
On Fri, Nov 22, 2013 at 3:57 AM, Marc Glisse wrote: > On Thu, 21 Nov 2013, Cong Hou wrote: > >> On Thu, Nov 21, 2013 at 4:39 PM, Marc Glisse wrote: >>> >>> On Thu, 21 Nov 2013, Cong Hou wrote: >>> While I added the new define_insn_and_split for vec_merge, a bug is exposed: in config/i38

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-22 Thread Cong Hou
On Fri, Nov 22, 2013 at 1:32 AM, Uros Bizjak wrote: > Hello! > >> In consequence, the ix86_expand_multi_arg_builtin() function tries to >> check two args but based on the define_expand of xop_vmfrcz2, >> the content of insn_data[CODE_FOR_xop_vmfrczv4sf2].operand[2] may be >> incorrect (because it

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-22 Thread Marc Glisse
On Thu, 21 Nov 2013, Cong Hou wrote: On Thu, Nov 21, 2013 at 4:39 PM, Marc Glisse wrote: On Thu, 21 Nov 2013, Cong Hou wrote: While I added the new define_insn_and_split for vec_merge, a bug is exposed: in config/i386/sse.md, [ define_expand "xop_vmfrcz2" ] only takes one input, but the corr

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-22 Thread Uros Bizjak
Hello! > In consequence, the ix86_expand_multi_arg_builtin() function tries to > check two args but based on the define_expand of xop_vmfrcz2, > the content of insn_data[CODE_FOR_xop_vmfrczv4sf2].operand[2] may be > incorrect (because it only needs one input). ;; scalar insns -(define_expand "xo

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-21 Thread Cong Hou
On Thu, Nov 21, 2013 at 4:39 PM, Marc Glisse wrote: > On Thu, 21 Nov 2013, Cong Hou wrote: > >> While I added the new define_insn_and_split for vec_merge, a bug is >> exposed: in config/i386/sse.md, [ define_expand "xop_vmfrcz2" ] >> only takes one input, but the corresponding builtin functions ha

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-21 Thread Marc Glisse
On Thu, 21 Nov 2013, Cong Hou wrote: While I added the new define_insn_and_split for vec_merge, a bug is exposed: in config/i386/sse.md, [ define_expand "xop_vmfrcz2" ] only takes one input, but the corresponding builtin functions have two inputs, which are shown in i386.c: { OPTION_MASK_ISA_X

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-20 Thread Richard Biener
On Tue, 19 Nov 2013, Cong Hou wrote: > On Tue, Nov 19, 2013 at 1:45 AM, Richard Biener wrote: > > > > On Mon, 18 Nov 2013, Cong Hou wrote: > > > > > I tried your method and it works well for doubles. But for float, > > > there is an issue. For the following gimple code: > > > > > >c1 = a - b;

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-19 Thread Cong Hou
On Tue, Nov 19, 2013 at 1:45 AM, Richard Biener wrote: > > On Mon, 18 Nov 2013, Cong Hou wrote: > > > I tried your method and it works well for doubles. But for float, > > there is an issue. For the following gimple code: > > > >c1 = a - b; > >c2 = a + b; > >c = VEC_PERM > > > > It ne

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-19 Thread Richard Earnshaw
On 18/11/13 20:19, Cong Hou wrote: > On Fri, Nov 15, 2013 at 10:18 AM, Richard Earnshaw wrote: >> On 15/11/13 02:06, Cong Hou wrote: >>> Hi >>> >>> This patch adds the support to two non-isomorphic operations addsub >>> and subadd for SLP vectorizer. More non-isomorphic operations can be >>> added

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-19 Thread Richard Biener
On Mon, 18 Nov 2013, Cong Hou wrote: > I tried your method and it works well for doubles. But for float, > there is an issue. For the following gimple code: > >c1 = a - b; >c2 = a + b; >c = VEC_PERM > > It needs two instructions to implement the VEC_PERM operation in > SSE2-4, one of

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-18 Thread Cong Hou
On Mon, Nov 18, 2013 at 12:27 PM, Uros Bizjak wrote: > On Mon, Nov 18, 2013 at 9:15 PM, Cong Hou wrote: > This patch adds the support to two non-isomorphic operations addsub and subadd for SLP vectorizer. More non-isomorphic operations can be added later, but the limitation is that

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-18 Thread Uros Bizjak
On Mon, Nov 18, 2013 at 9:15 PM, Cong Hou wrote: >>> This patch adds the support to two non-isomorphic operations addsub >>> and subadd for SLP vectorizer. More non-isomorphic operations can be >>> added later, but the limitation is that operations on even/odd >>> elements should still be isomorp

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-18 Thread Cong Hou
On Fri, Nov 15, 2013 at 10:18 AM, Richard Earnshaw wrote: > On 15/11/13 02:06, Cong Hou wrote: >> Hi >> >> This patch adds the support to two non-isomorphic operations addsub >> and subadd for SLP vectorizer. More non-isomorphic operations can be >> added later, but the limitation is that operatio

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-18 Thread Cong Hou
On Fri, Nov 15, 2013 at 1:20 AM, Uros Bizjak wrote: > Hello! > >> This patch adds the support to two non-isomorphic operations addsub >> and subadd for SLP vectorizer. More non-isomorphic operations can be >> added later, but the limitation is that operations on even/odd >> elements should still b

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-18 Thread Cong Hou
I tried your method and it works well for doubles. But for float, there is an issue. For the following gimple code: c1 = a - b; c2 = a + b; c = VEC_PERM It needs two instructions to implement the VEC_PERM operation in SSE2-4, one of which should be using shufps which is represented by t

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-15 Thread Richard Earnshaw
On 15/11/13 02:06, Cong Hou wrote: > Hi > > This patch adds the support to two non-isomorphic operations addsub > and subadd for SLP vectorizer. More non-isomorphic operations can be > added later, but the limitation is that operations on even/odd > elements should still be isomorphic. Once such a

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-15 Thread Uros Bizjak
Hello! > This patch adds the support to two non-isomorphic operations addsub > and subadd for SLP vectorizer. More non-isomorphic operations can be > added later, but the limitation is that operations on even/odd > elements should still be isomorphic. Once such an operation is > detected, the code

Re: [PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-15 Thread Richard Biener
On Thu, 14 Nov 2013, Cong Hou wrote: > Hi > > This patch adds the support to two non-isomorphic operations addsub > and subadd for SLP vectorizer. More non-isomorphic operations can be > added later, but the limitation is that operations on even/odd > elements should still be isomorphic. Once suc

[PATCH] Support addsub/subadd as non-isomorphic operations for SLP vectorizer.

2013-11-14 Thread Cong Hou
Hi This patch adds the support to two non-isomorphic operations addsub and subadd for SLP vectorizer. More non-isomorphic operations can be added later, but the limitation is that operations on even/odd elements should still be isomorphic. Once such an operation is detected, the code of the operat