atomic_dec_and_test指令

函数功能

对整数进行减操作,并判断执行原子减后结果是否为0。

处理步骤

x86上代码:

static inline int atomic_dec_and_test(atomic_t *v) 
{ 
    unsigned char c; 
    asm volatile(LOCK_PREFIX "decl %0; sete %1" : "+m" (v->counter), "=qm" (c) : : "memory"); 
    return c != 0; 
}

在鲲鹏上替换: