@@ -49,6 +49,10 @@ extern "C" {
4949 _Py_atomic_load_uint16_relaxed(&value)
5050#define FT_ATOMIC_LOAD_UINT32_RELAXED (value ) \
5151 _Py_atomic_load_uint32_relaxed(&value)
52+ #define FT_ATOMIC_LOAD_UINT64_ACQUIRE (value ) \
53+ _Py_atomic_load_uint64_acquire(&value)
54+ #define FT_ATOMIC_LOAD_UINT64_RELAXED (value ) \
55+ _Py_atomic_load_uint64_relaxed(&value)
5256#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) \
5357 _Py_atomic_load_ulong_relaxed(&value)
5458#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) \
@@ -71,6 +75,12 @@ extern "C" {
7175 _Py_atomic_store_uint16_relaxed(&value, new_value)
7276#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) \
7377 _Py_atomic_store_uint32_relaxed(&value, new_value)
78+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) \
79+ (void)_Py_atomic_and_uint64(&value, new_value)
80+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) \
81+ (void)_Py_atomic_or_uint64(&value, new_value)
82+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) \
83+ (void)_Py_atomic_add_uint64(&value, new_value)
7484#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) \
7585 _Py_atomic_store_char_relaxed(&value, new_value)
7686#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) \
@@ -146,6 +156,8 @@ extern "C" {
146156#define FT_ATOMIC_LOAD_UINT8_RELAXED (value ) value
147157#define FT_ATOMIC_LOAD_UINT16_RELAXED (value ) value
148158#define FT_ATOMIC_LOAD_UINT32_RELAXED (value ) value
159+ #define FT_ATOMIC_LOAD_UINT64_ACQUIRE (value ) value
160+ #define FT_ATOMIC_LOAD_UINT64_RELAXED (value ) value
149161#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) value
150162#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) value = new_value
151163#define FT_ATOMIC_STORE_PTR_RELEASE (value , new_value ) value = new_value
@@ -157,6 +169,9 @@ extern "C" {
157169#define FT_ATOMIC_STORE_UINT8_RELAXED (value , new_value ) value = new_value
158170#define FT_ATOMIC_STORE_UINT16_RELAXED (value , new_value ) value = new_value
159171#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) value = new_value
172+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) (void)(value &= new_value)
173+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) (void)(value |= new_value)
174+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) (void)(value += new_value)
160175#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) value
161176#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) value = new_value
162177#define FT_ATOMIC_LOAD_UCHAR_RELAXED (value ) value
0 commit comments