Go to the source code of this file.
◆ AO_HAVE_compare_and_swap_full
| #define AO_HAVE_compare_and_swap_full |
◆ AO_HAVE_test_and_set_full
| #define AO_HAVE_test_and_set_full |
◆ AO_T_IS_INT
◆ __attribute__
◆ AO_compare_and_swap_full()
Definition at line 52 of file m68k.h.
54{
56
57 __asm__ __volatile__(
58 "cas.l %3,%4,%1; seq %0"
59 :
"=d" (
result),
"=m" (*addr)
60 : "m" (*addr), "d" (old), "d" (new_val)
61 : "memory");
63}
◆ AO_test_and_set_full()
Definition at line 33 of file m68k.h.
33 {
35
36
37
38
39
40 __asm__ __volatile__(
41 "tas %1; sne %0"
42 : "=d" (oldval), "=m" (*addr)
43 : "m" (*addr)
44 : "memory");
45
47}