> > 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? > > No, that is IMHO not possible. They need to match the enum values that are > part of libstdc++ ABI already, and not everybody is going to use the > __ATOMIC_* macros anyway.
I see. Maybe it's best to just forbid HLE_ACQUIRE + RELAXED and HLE_RELEASE + RELAXED, because they are very very likely to be wrong. Since this all implementation specific anyways could just forced them to HLE_ACQUIRE+ACQUIRE and HLE_RELEASE+RELEASE. Essentially Kirill's patch did that except it missed the check to only do it when RELAXED is in the lower bits. -Andi -- a...@linux.intel.com -- Speaking for myself only.