现在我尝试动态调度代码,例如SSE,AVX等。 在二进制文件中,捆绑了将在执行时调度的所有代码。
我担心未在CPU中执行的代码路径中的未定义CPU指令会通过推测执行或其他原因导致意外行为。
然后,我有两个问题。
答案 0 :(得分:1)
你太担心了。 推测执行被称为 speculative ,因为只有在认为值得这样做的情况下,CPU才会执行某些代码,但不能假设代码赢了&#39 ; t导致任何CPU异常。机器代码执行具有严格的顺序,逐个指令,语义,因此CPU无法合理地报告(推测)未来关于(逻辑上)当前指令指针的问题。