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).
>>        Jakub
> Hi Jakub,
> Attached patch implements HLE support for __atomic_compare_exchange_n.
> So, to emit HLE prefix, it is possible to do:
> int
> foo2 (int *p, int oldv, int newv)
> {
>  __atomic_compare_exchange_n (p, &oldv, newv, 0, __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++
atomic acquire.


Reply via email to