All pastes #198185 Raw Edit

Stuff

public text v1 · immutable
#198185 ·published 2006-10-11 20:30 UTC
rendered paste body
#define TEST_AND_SET(x, v) \
({ \
    bool x; \
    asm volatile ( \
                  "swpb %1, %1, [%0] \n\t" \
                  : "=m"(x) : "m"(x), "r"(v) \
                 ); \
    x; \
})

static inline test_and_set(bool *x, bool v)
{
    asm volatile (
        "swpb %0, %0, [%1]\n"
        : "+r"(v)
        : "r"(x)
    );
    return v;
}