And the C++11 memory model was added so that the language would map to the execution model of the underlying hardware, not viceversa, refuting the parent.
Not really, C++11 initally got its memory model from .NET and Java memory models, two mostly hardware agnostic stacks, and then expanded on top of them.