Just a wild guess:
AMD talked about using "AI" in their branch predictor in marketing materials mutliple times, since Zen 1.
This could mean, they are using something like a decision tree internally which is "trained" on some common workloads. This decision tree is translated into a netlist and implemented in hardware via transistors. Decision trees can be implemented pretty efficiently in transistor logic and can be evaluated in parallel, so that would be a good choice.
Maybe they "trained" the decision tree on common workloads like a windows kernel (which probably has some mitigations comparable to the linux kernel) running selenium..
So branch prediction works pretty efficiently for chrome/v8 with mitigations enabled, but has a lot of misspredictions for mitigations disabled, as this was not part of the training set of "common workloads".
AMD talked about using "AI" in their branch predictor in marketing materials mutliple times, since Zen 1.
This could mean, they are using something like a decision tree internally which is "trained" on some common workloads. This decision tree is translated into a netlist and implemented in hardware via transistors. Decision trees can be implemented pretty efficiently in transistor logic and can be evaluated in parallel, so that would be a good choice.
Maybe they "trained" the decision tree on common workloads like a windows kernel (which probably has some mitigations comparable to the linux kernel) running selenium..
So branch prediction works pretty efficiently for chrome/v8 with mitigations enabled, but has a lot of misspredictions for mitigations disabled, as this was not part of the training set of "common workloads".
Comment