http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55966
--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2013-01-14 21:25:13 UTC --- Following testcase will expand to a cmpxchg loop: int hle_and (int *p, int v) { return __atomic_fetch_and_4 (p, v, __ATOMIC_ACQUIRE | __ATOMIC_HLE_ACQUIRE); }