http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55139
Bug #: 55139 Summary: __atomic store does not support __ATOMIC_HLE_RELEASE Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: andi-...@firstfloor.org volatile int slock; void unlock(void) { int free_val = 1; __atomic_store(&slock, &free_val, __ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE); } spin.c: In function 'unlock': spin.c:6:16: warning: invalid memory model argument 3 of '__atomic_store' [-Winvalid-memory-model] __atomic_store(&slock, &free_val, __ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE); But XRELEASE MOV ... is allowed in TSX.