mike.a.sch...@gmail.com (Mike Schwab) writes: > If branch predicting is a big hang up, the obvious solution is to > start processing all possible outcomes then keep the one that is > actually taken. I. E. B OUTCOME(R15) where R15 is a return code of > 0,4,8,12,16.
aka, speculative execution ... instructions executed on path ... that is not actually taken ... are not committed https://en.wikipedia.org/wiki/Speculative_execution and https://en.wikipedia.org/wiki/Speculative_execution#Eager_execution Eager execution is a form of speculative execution where both sides of the conditional branch are executed; however, the results are committed only if the predicate is true. With unlimited resources, eager execution (also known as oracle execution) would in theory provide the same performance as perfect branch prediction. With limited resources eager execution should be employed carefully since the number of resources needed grows exponentially with each level of branches executed eagerly.[7] ... snip ... https://en.wikipedia.org/wiki/Eager_evaluation -- virtualization experience starting Jan1968, online at home since Mar1970 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN