http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55947
Bug #: 55947 Summary: non constant memory models lose HLE qualifiers 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 get_memmodel does this /* If the parameter is not a constant, it's a run time value so we'll just convert it to MEMMODEL_SEQ_CST to avoid annoying runtime checking. */ if (TREE_CODE (exp) != INTEGER_CST) return MEMMODEL_SEQ_CST; This implies that if __ATOMIC_HLE_ACQUIRE, __ATOMIC_HLE_RELEASE are passed in as non constant they will get lost.