No, there is no special support for incrementing values less than a value. Your code is as efficient as you can get. There is no wait-free variant in C++11
There is an unlimited number of possible "increment if X" patterns. The hardware manufacturers decided that "increment if not changed" is the only thing they need to support.
In theory you could invent a hardware platform with a special assembly code for it, but C++11 does not directly target that.