> 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 without HLE. -Andi -- a...@linux.intel.com -- Speaking for myself only.