Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1692 → Rev 1691

/kernel/trunk/arch/amd64/include/atomic.h
52,11 → 52,12
 
static inline long atomic_postinc(atomic_t *val)
{
long r = 1;
long r;
 
__asm__ volatile (
"lock xaddq %1, %0\n"
: "=m" (val->count) : "r" (r)
"movq $1, %0\n"
"lock xaddq %0, %1\n"
: "=r" (r), "=m" (val->count)
);
 
return r;
64,11 → 65,12
 
static inline long atomic_postdec(atomic_t *val)
{
long r = -1;
long r;
__asm__ volatile (
"lock xaddq %1, %0\n"
: "=m" (val->count) : "r" (r)
"movq $-1, %0\n"
"lock xaddq %0, %1\n"
: "=r" (r), "=m" (val->count)
);
return r;