In (I think) Intel SDM version 076 a new guarantee of atomicity of certain aligned 16-byte accesses appeared. While initially I thought this would be another special case we need to invent a solution for (it still is, in certain cases, as per further down), I had to realize that we don’t even guarantee atomicity of smaller accesses, including as simple ones as plain 16-, 32-, or 64-bit moves. All read/write operations are handled by the very generic __hvm_copy(), which invokes memcpy() / memset().
(My earlier attempt to get a discussion going on xen-devel has failed miserably.)