[lkml]   [2000]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Code optimization <LEA Instruction>
On Thu, Jan 27, 2000 at 05:01:48PM -0500, Richard B. Johnson wrote:
> The Intel reference manual tells about optimizing code.
> One of the things it states is that the LEA instruction can
> be used to change the value of an index register faster than
> using the ADD instruction (Page G-10, Intel '486 Rag).


> I note that recent 'C' compilers do this. There are a lot of
> LEA instructions that have replaced simple adds for adding
> a constant displacement to an index register.


> As usual, the Intel reference manual is wrong for all types
> of CPUs that I have tested (486-686).

with you...

> I wish somebody would have tested this information before wrong
> information went into the code-generation of the 'C' compilers.

uh huh...

> The following program clearly shows that many more 'addl' instructions
> may be executed than 'leal' instructions within a given time.

[snip example]

> The main point is, when attempting to optimize code, it would be
> a good idea to test the many possible instruction-sequences before
> you commit yourself, especially when providing inline 'asm' or
> generating compiler output.


I still don't see the relevance to linux-kernel (which is not x86
specific and is not particularly tied to the intimate details of the gcc
x86 backend). Perhaps you meant to send this to gcc-bug or take it up
with the gcc x86 backend maintainer in personal mail instead?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:56    [W:0.075 / U:0.484 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site