MCPcopy Create free account
hub / github.com/F-Stack/f-stack / atomic_cmpset_64_i586

Function atomic_cmpset_64_i586

freebsd/i386/include/atomic.h:481–497  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

479}
480
481static __inline int
482atomic_cmpset_64_i586(volatile uint64_t *dst, uint64_t expect, uint64_t src)
483{
484 u_char res;
485
486 __asm __volatile(
487 " " MPLOCKED " "
488 " cmpxchg8b %1 ; "
489 " sete %0"
490 : "=q" (res), /* 0 */
491 "+m" (*dst), /* 1 */
492 "+A" (expect) /* 2 */
493 : "b" ((uint32_t)src), /* 3 */
494 "c" ((uint32_t)(src >> 32)) /* 4 */
495 : "memory", "cc");
496 return (res);
497}
498
499static __inline int
500atomic_fcmpset_64_i586(volatile uint64_t *dst, uint64_t *expect, uint64_t src)

Callers 1

atomic_cmpset_64Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected