aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include/odp_atomic_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-generic/include/odp_atomic_internal.h')
-rw-r--r--platform/linux-generic/include/odp_atomic_internal.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/platform/linux-generic/include/odp_atomic_internal.h b/platform/linux-generic/include/odp_atomic_internal.h
index d98e0e6be..da79b3723 100644
--- a/platform/linux-generic/include/odp_atomic_internal.h
+++ b/platform/linux-generic/include/odp_atomic_internal.h
@@ -20,6 +20,7 @@
#include <odp/api/align.h>
#include <odp/api/hints.h>
#include <odp/api/atomic.h>
+#include <odp_types_internal.h>
#include <stdbool.h>
#ifdef __cplusplus
@@ -137,12 +138,10 @@ static inline void _odp_atomic_flag_clear(_odp_atomic_flag_t *flag)
#endif
#ifdef ODP_ATOMIC_U128
-/** An unsigned 128-bit (16-byte) scalar type */
-__extension__ typedef __int128 _uint128_t;
/** Atomic 128-bit type */
typedef struct ODP_ALIGNED(16) {
- _uint128_t v; /**< Actual storage for the atomic variable */
+ _odp_u128_t v; /**< Actual storage for the atomic variable */
} _odp_atomic_u128_t;
/**
@@ -154,8 +153,8 @@ typedef struct ODP_ALIGNED(16) {
* @param mmodel Memory model associated with the exchange operation
*/
static inline void _odp_atomic_u128_xchg_mm(_odp_atomic_u128_t *ptr,
- _uint128_t *val,
- _uint128_t *old,
+ _odp_u128_t *val,
+ _odp_u128_t *old,
_odp_memmodel_t mm)
{
__atomic_exchange(&ptr->v, val, old, mm);
@@ -177,8 +176,8 @@ static inline void _odp_atomic_u128_xchg_mm(_odp_atomic_u128_t *ptr,
* @retval 0 exchange failed and '*exp' updated with current value
*/
static inline int _odp_atomic_u128_cmp_xchg_mm(_odp_atomic_u128_t *ptr,
- _uint128_t *exp,
- _uint128_t *val,
+ _odp_u128_t *exp,
+ _odp_u128_t *val,
_odp_memmodel_t succ,
_odp_memmodel_t fail)
{