3 ms·
> They did, but to get it running as well as they did they had to deviate from generic ARM by adding support for the x86 memory model in hardware. Note that th
by lonjil 3y ago
> They did, but to get it running as well as they did they had to deviate from generic ARM by adding support for the x86 memory model in hardware.
Note that this is actually very cheap in hardware. All ARM CPUs already support memory accesses that behave similarly to x86. It's just that they're special instructions meant for atomics. Most load and store instructions in Aarch64 don't have such variants, because it'd use a lot of instruction encoding space. The TSO bit in Apple's CPUs is really more of an encoding trick, to allow having a large number of "atomic" memory instructions without needing to actually add lots of new instructions.