Re: LEA-splitting improvement patch.

2012-08-16 Thread Uros Bizjak
On Wed, Aug 15, 2012 at 12:58 PM, Yuri Rumyantsev wrote: > I send you new patch with fixed space/tab alignments. > > About your comment. > > It is more optimal to put adding of constant before adding of the > register only for case when 3 instructions must be generated to split > lea. In all othe

Re: LEA-splitting improvement patch.

2012-08-15 Thread Yuri Rumyantsev
Hi Uros, I send you new patch with fixed space/tab alignments. About your comment. It is more optimal to put adding of constant before adding of the register only for case when 3 instructions must be generated to split lea. In all other cases it does not matter and I left code unchangeable. Bes

Re: LEA-splitting improvement patch.

2012-08-14 Thread Uros Bizjak
On Tue, Aug 14, 2012 at 3:35 PM, Yuri Rumyantsev wrote: > Uros, > > Let me try to explain you why I used such code duplication: > > Here we have a common case of LEA with 3 different registers - r0 > (target), r1(base), r2(index) and possible offset. > To get the better scheduling we first try to

Re: LEA-splitting improvement patch.

2012-08-14 Thread Yuri Rumyantsev
Uros, Let me try to explain you why I used such code duplication: Here we have a common case of LEA with 3 different registers - r0 (target), r1(base), r2(index) and possible offset. To get the better scheduling we first try to determine what register is prefirable for inititial setting - r1 or r

Re: LEA-splitting improvement patch.

2012-08-14 Thread Uros Bizjak
On Tue, Aug 14, 2012 at 2:28 PM, Yuri Rumyantsev wrote: > Thanks a lot forr your comments. > > I prepared new patch and ChangeLog. Testing of x32 is in progress. > > It it OK for trunk? > > 2012-08-14 Yuri Rumyantsev > > * config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add >

Re: LEA-splitting improvement patch.

2012-08-14 Thread Yuri Rumyantsev
Hi Uros, Thanks a lot forr your comments. I prepared new patch and ChangeLog. Testing of x32 is in progress. It it OK for trunk? 2012-08-14 Yuri Rumyantsev * config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add additional argument. * config/i386/i386.md (ix86_s

Re: LEA-splitting improvement patch.

2012-08-13 Thread Uros Bizjak
Hello! > It is known that LEA splitting is one of the most critical problems > for Atom processors and changes try to improve it through: > 1. More aggressive Lea splitting – do not perform splitting if > only split cost exceeds AGU stall . > 2. Reordering splitting instructions to get