> But such a model isn't possible. The HLE bits are just some high bits
> ored into the memory model enum. So, if you use
> __ATOMIC_HLE_ACQUIRE, it is the same thing as
> __ATOMIC_HLE_ACQUIRE | __ATOMIC_RELAXED and thus it is a relaxed xacquire,
> not xacquire with default memory model.
> __atomic_* builtins were introduced already in GCC 4.7, so we need to do
> a compatible extension...
That's true. Actually I see the values are defined by the compiler
at compile time, so it would be possible to move all one up?
For compatibility just would need to make sure that 0 still means relaxed
a...@linux.intel.com -- Speaking for myself only.