By: Linus B Torvalds (torvalds.delete@this.linux-foundation.org), May 12, 2017 9:25 am
Room: Moderated Discussions
TEMLIB (info.delete@this.temlib.org) on May 11, 2017 12:22 pm wrote:
>
> Besides indirect memory instructions, another issue is that all integer instructions alter
> flags (even register moves), which can reduce the efficiency of OoO speculative execution.
That just means that you need to rename the flags more aggressively. It's not a problem in general, although it may be another of those "at the time, it looked pretty painful" issues.
The other problem is that like x86, instructions that change the arithmetic flags don't necessarily change all the flags, so you can't just rename the condition code part of the flags - you have to at least to some degree rename individual bits. Still doable, but it adds to the whole "pretty painful" thing.
Linus
>
> Besides indirect memory instructions, another issue is that all integer instructions alter
> flags (even register moves), which can reduce the efficiency of OoO speculative execution.
That just means that you need to rename the flags more aggressively. It's not a problem in general, although it may be another of those "at the time, it looked pretty painful" issues.
The other problem is that like x86, instructions that change the arithmetic flags don't necessarily change all the flags, so you can't just rename the condition code part of the flags - you have to at least to some degree rename individual bits. Still doable, but it adds to the whole "pretty painful" thing.
Linus