Lines Matching refs:val
96 atomic_add_32(volatile uint32_t *p, uint32_t val)
108 ,"+r" (p), "+r" (val) : : "cc", "memory");
112 atomic_add_64(volatile uint64_t *p, uint64_t val)
120 " adds %Q[tmp], %Q[val] \n"
121 " adc %R[tmp], %R[tmp], %R[val] \n"
129 [val] "r" (val)
134 atomic_add_long(volatile u_long *p, u_long val)
137 atomic_add_32((volatile uint32_t *)p, val);
161 atomic_clear_64(volatile uint64_t *p, uint64_t val)
169 " bic %Q[tmp], %Q[val] \n"
170 " bic %R[tmp], %R[val] \n"
178 [val] "r" (val)
306 atomic_fetchadd_32(volatile uint32_t *p, uint32_t val)
317 : "+r" (ret), "=&r" (tmp), "+r" (tmp2), "+r" (p), "+r" (val)
323 atomic_fetchadd_64(volatile uint64_t *p, uint64_t val)
331 " adds %Q[tmp], %Q[ret], %Q[val] \n"
332 " adc %R[tmp], %R[ret], %R[val] \n"
341 [val] "r" (val)
347 atomic_fetchadd_long(volatile u_long *p, u_long val)
350 return (atomic_fetchadd_32((volatile uint32_t *)p, val));
466 atomic_set_64(volatile uint64_t *p, uint64_t val)
474 " orr %Q[tmp], %Q[val] \n"
475 " orr %R[tmp], %R[val] \n"
483 [val] "r" (val)
499 atomic_subtract_32(volatile uint32_t *p, uint32_t val)
510 : "=&r" (tmp), "+r" (tmp2), "+r" (p), "+r" (val)
515 atomic_subtract_64(volatile uint64_t *p, uint64_t val)
523 " subs %Q[tmp], %Q[val] \n"
524 " sbc %R[tmp], %R[tmp], %R[val] \n"
532 [val] "r" (val)
537 atomic_subtract_long(volatile u_long *p, u_long val)
540 atomic_subtract_32((volatile uint32_t *)p, val);
548 atomic_store_64(volatile uint64_t *p, uint64_t val)
561 " strexd %[exf], %Q[val], %R[val], [%[ptr]] \n"
568 [val] "r" (val)
581 atomic_store_rel_64(volatile uint64_t *p, uint64_t val)
585 atomic_store_64(p, val);
651 " strex %[exf], %[val], [%[ptr]] \n"
657 : [val] "r" (v),