Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-29 Thread H.J. Lu
On Wed, Sep 23, 2015 at 3:29 AM, Uros Bizjak wrote: > On Wed, Sep 23, 2015 at 12:19 PM, Ilya Enkovich > wrote: >> On 14 Sep 17:50, Uros Bizjak wrote: >>> >>> +(define_insn_and_split "*zext_doubleword" >>> + [(set (match_operand:DI 0 "register_operand"

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-23 Thread Ilya Enkovich
On 14 Sep 17:50, Uros Bizjak wrote: > > +(define_insn_and_split "*zext_doubleword" > + [(set (match_operand:DI 0 "register_operand" "=r") > + (zero_extend:DI (match_operand:SWI24 1 "nonimmediate_operand" "rm")))] > + "!TARGET_64BIT && TARGET_STV && TARGET_SSE2" > + "#" > + "&&

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-23 Thread Uros Bizjak
On Wed, Sep 23, 2015 at 12:19 PM, Ilya Enkovich wrote: > On 14 Sep 17:50, Uros Bizjak wrote: >> >> +(define_insn_and_split "*zext_doubleword" >> + [(set (match_operand:DI 0 "register_operand" "=r") >> + (zero_extend:DI (match_operand:SWI24 1 "nonimmediate_operand"

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-14 Thread Ilya Enkovich
On 09 Sep 10:20, Uros Bizjak wrote: > On Wed, Sep 9, 2015 at 10:12 AM, Uros Bizjak wrote: > > On Tue, Sep 8, 2015 at 5:49 PM, Ilya Enkovich > > wrote: > > > > Please depend new changes to insn patterns to TARGET_STV. This way, > > non-STV compiles will

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-14 Thread Uros Bizjak
On Mon, Sep 14, 2015 at 2:03 PM, Ilya Enkovich wrote: > On 09 Sep 10:20, Uros Bizjak wrote: >> On Wed, Sep 9, 2015 at 10:12 AM, Uros Bizjak wrote: >> > On Tue, Sep 8, 2015 at 5:49 PM, Ilya Enkovich >> > wrote: >> > >> > Please

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-09 Thread Uros Bizjak
On Wed, Sep 9, 2015 at 10:12 AM, Uros Bizjak wrote: > On Tue, Sep 8, 2015 at 5:49 PM, Ilya Enkovich wrote: >> On 21 Aug 10:38, Jeff Law wrote: >>> On 08/21/2015 07:44 AM, Ilya Enkovich wrote: >>> >>Our of curiosity, what does LLVM do here in terms of

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-09 Thread Uros Bizjak
On Tue, Sep 8, 2015 at 5:49 PM, Ilya Enkovich wrote: > On 21 Aug 10:38, Jeff Law wrote: >> On 08/21/2015 07:44 AM, Ilya Enkovich wrote: >> >>Our of curiosity, what does LLVM do here in terms of costing >> >>models? >> > >> >Unfortunately I have no idea where and how LLVM

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-09-08 Thread Ilya Enkovich
On 21 Aug 10:38, Jeff Law wrote: > On 08/21/2015 07:44 AM, Ilya Enkovich wrote: > >>Our of curiosity, what does LLVM do here in terms of costing > >>models? > > > >Unfortunately I have no idea where and how LLVM does this > >optimization. Will try to find out. For now I just try to follow a >

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-08-21 Thread Ilya Enkovich
2015-08-03 23:52 GMT+03:00 Jeff Law l...@redhat.com: On 06/19/2015 07:21 AM, Ilya Enkovich wrote: Hi, This patch tries to improve 64bit integer computations on 32bit target. This is achieved by an additional i386 target pass which searches for all conversion candidates and tries to

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-08-21 Thread Jeff Law
On 08/21/2015 07:44 AM, Ilya Enkovich wrote: Our of curiosity, what does LLVM do here in terms of costing models? Unfortunately I have no idea where and how LLVM does this optimization. Will try to find out. For now I just try to follow a common sense and don't hurt any benchmark performance.

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-08-03 Thread Jeff Law
On 06/19/2015 07:21 AM, Ilya Enkovich wrote: Hi, This patch tries to improve 64bit integer computations on 32bit target. This is achieved by an additional i386 target pass which searches for all conversion candidates and tries to transform them into vector mode when profitable. Presumably

Re: [RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-07-14 Thread Ilya Enkovich
Hi, Any comments on this? Thanks, Ilya 2015-06-19 16:21 GMT+03:00 Ilya Enkovich enkovich@gmail.com: Hi, This patch tries to improve 64bit integer computations on 32bit target. This is achieved by an additional i386 target pass which searches for all conversion candidates and tries

[RFC, PR target/65105] Use vector instructions for scalar 64bit computations on 32bit target

2015-06-19 Thread Ilya Enkovich
Hi, This patch tries to improve 64bit integer computations on 32bit target. This is achieved by an additional i386 target pass which searches for all conversion candidates and tries to transform them into vector mode when profitable. Initial problem discussion had several assumptions that