[lkml]   [2004]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Semaphore assembly-code bug

    On Fri, 29 Oct 2004, dean gaudet wrote:
    > for p4 model 0 through 2 it was faster to avoid lea and shl and generate
    > code like:
    > add %ebx,%ebx
    > add %ebx,%ebx
    > add %ebx,%ebx
    > add %ebx,%ebx

    I think that is true only for the lea's that have a shifted input. The
    weakness of the original P4 is its shifter, not lea itself. And for a
    simple lea like 4(%esp), it's likely no worse than a regular "add", and
    there lea has the advantage that you can put the result in another
    register, which can be advantageous in other circumstances.

    So lea actually _is_ useful for doing adds, in many cases. Of course, on
    older CPU's you'll see the effect of the address generation adder being
    one cycle "off" (earlier) the regular ALU execution unit, so lea often
    causes AGI stalls. I don't think this is an issue on the P6 or P4 because
    of how they actually end up implementing the lea in the regular ALU path.

    How the hell did we get to worrying about this in the first place?

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

     \ /
      Last update: 2009-11-18 23:46    [W:0.021 / U:7.372 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site