This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> > 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 | __ATOMIC_USE_HLE, __ATOMIC_ACQUIRE); return oldv; } Which will generate: ... lock xacquire cmpxchgl %esi, (%rcx) ... Comments? PS: No tests and TARGET_HLE defined yet. Thanks, K
Attachment:
hle-rfc-2.gcc.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |