[lkml]   [2008]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
    Trent Piepho <> writes:

    > For the LE versions, eventually they boil down to an asm that will look
    > something like this:
    > asm("sync; stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
    > While not perfect, this appears to be the best one can do. The issue is
    > that the "stwbrx" instruction only comes in an indexed, or 'x', version, in
    > which the address is represented by the sum of two registers (the "0,%2").
    > Unfortunately, gcc doesn't have a constraint for an indexed memory
    > reference.

    There is the "Z" constraint, which matches either an indirect or an
    indexed memory address. That should fit here.


    Andreas Schwab, SuSE Labs,
    SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
    PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
    "And now for something completely different."
    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: 2008-05-21 00:03    [W:0.020 / U:13.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site