4 ms·
That why the solution is to only allow speculation when it's "ok". M1 is believed to have a number of Spectre-esq security mechanisms built into it to determin
by zsmi 5y ago
That why the solution is to only allow speculation when it's "ok". M1 is believed to have a number of Spectre-esq security mechanisms built into it to determine just that. For example: https://patents.google.com/patent/US20200192673A1 https://patents.google.com/patent/US20200192673A1
Also, In dougallj's code [1] the zero of registers should be superfluous so it is assumed the function below is needed to make the experiments run stably by claiming ownership of the registers as part of a general anti-speculation security mechanism.
static int add_prep(uint32_t *ibuf, int instr_type);
The M1 explainer [2] has lot of interesting ideas like this contained inside it.
[1] https://gist.github.com/dougallj/5bafb113492047c865c0c8cfbc930155 https://gist.github.com/dougallj/5bafb113492047c865c0c8cfbc9...
[2] https://news.ycombinator.com/item?id=28549954 https://news.ycombinator.com/item?id=28549954