> of timing requirements vs complexity. At least theoretically one could > imagine a machine which would take the trap after the speculative > machine had already chased the pointer loop several levels down; this > would most likely mean separate uops to allow for the existing > out-of-order machine to do the bookkeeping.
It's not quite the same but in the IA-64 case you can write itanium code that does exactly that. The speculation is expressed in software not hardware (because you can trigger a load, then check later if it worked out and respond appripriately). Alan