@@ -49,6 +49,8 @@ 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_RELAXED (value ) \
53+ _Py_atomic_load_uint64_relaxed(&value)
5254#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) \
5355 _Py_atomic_load_ulong_relaxed(&value)
5456#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) \
@@ -71,6 +73,12 @@ extern "C" {
7173 _Py_atomic_store_uint16_relaxed(&value, new_value)
7274#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) \
7375 _Py_atomic_store_uint32_relaxed(&value, new_value)
76+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) \
77+ (void)_Py_atomic_and_uint64(&value, new_value)
78+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) \
79+ (void)_Py_atomic_or_uint64(&value, new_value)
80+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) \
81+ (void)_Py_atomic_add_uint64(&value, new_value)
7482#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) \
7583 _Py_atomic_store_char_relaxed(&value, new_value)
7684#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) \
@@ -146,6 +154,7 @@ extern "C" {
146154#define FT_ATOMIC_LOAD_UINT8_RELAXED (value ) value
147155#define FT_ATOMIC_LOAD_UINT16_RELAXED (value ) value
148156#define FT_ATOMIC_LOAD_UINT32_RELAXED (value ) value
157+ #define FT_ATOMIC_LOAD_UINT64_RELAXED (value ) value
149158#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) value
150159#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) value = new_value
151160#define FT_ATOMIC_STORE_PTR_RELEASE (value , new_value ) value = new_value
@@ -157,6 +166,9 @@ extern "C" {
157166#define FT_ATOMIC_STORE_UINT8_RELAXED (value , new_value ) value = new_value
158167#define FT_ATOMIC_STORE_UINT16_RELAXED (value , new_value ) value = new_value
159168#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) value = new_value
169+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) (void)(value &= new_value)
170+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) (void)(value |= new_value)
171+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) (void)(value += new_value)
160172#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) value
161173#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) value = new_value
162174#define FT_ATOMIC_LOAD_UCHAR_RELAXED (value ) value
0 commit comments