On Tue, Apr 10, 2012 at 7:12 AM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote:
>> Yeah. And you don't need to change the FEs in any way, all that is needed
>> is to change the middle-end/expansion (builtins.c - e.g. get_memmodel)
>> and the backend (plus predefine the macros in the backend).
> Hi Jakub,
> Attached patch implements HLE support for __atomic_compare_exchange_n.
> So, to emit HLE prefix, it is possible to do:
> foo2 (int *p, int oldv, int newv)
> __atomic_compare_exchange_n (p, &oldv, newv, 0, __ATOMIC_ACQUIRE |
> __ATOMIC_USE_HLE, __ATOMIC_ACQUIRE);
> return oldv;
This is wrong since HLE ACQUIRE/RELEASE has nothing to do with
C++ atomic acquire/release. You can have HLE RELEASE with C++