On 04/19/2012 11:21 AM, Kirill Yukhin wrote: +++ b/gcc/builtins.c @@ -5338,6 +5338,7 @@ static enum memmodel get_memmodel (tree exp) { rtx op; + unsigned memmodel_mask = (1<<16) - 1;
<...> @@ -5398,11 +5409,14 @@ expand_builtin_atomic_compare_exchange (enum machine_mode mode, tree exp, enum memmodel success, failure; tree weak; bool is_weak; + /* Suppose that higher bits are target dependant. */ + unsigned memmodel_mask = (1<<16) - 1; My only other comment is that I think the MEMMODEL_MASK ought to be defined globally where the MEMMODEL enum is defined instead of defining it everywhere it is needed. Andrew