I'd like the example fetchadd_acquire( &x, 1 ); load_relaxed( &y ); // 0 // fetchadd_acquire( &y, 1 ); load_relaxed( &x ); // 0 to be added and analyzed, if possible. If it doesn't permit the non-SC (0,0) outcome, _acquire would (probably) be much heavier than typically needed.