如何使用SSE2& PREFETCH指令同时执行?

时间:2014-01-29 15:01:28

标签: assembly x86

在英特尔IA-32架构手册第3A卷第2章中,CR4.OSFXSR解释如下:

  

设置后,启用处理器执行SSE / SSE2 / SSE3 / SSSE3 / SSE4指令,   除了PAUSE,PREFETCHh,SFENCE,LFENCE,MFENCE,MOVNTI,   CLFLUSH,CRC32和POPCNT。

问题是我是否想同时使用SSE2和PREFETCHh指令,我该怎么办?

1 个答案:

答案 0 :(得分:4)

是的,措辞可能更清晰。他们的意思是CR4.OSFXSR位仅控制与SSE寄存器一起使用的指令的执行。提到的其他指令不访问SSE寄存器,因此它们始终可用(如果已实现)。

以下引用更清楚:

  

如果该标志清零,[...]此外,如果处理器将产生无效的操作码异常(#UD)   它尝试执行任何SSE / SSE2 / SSE3指令,用   例外 PAUSE,PREFETCHh,SFENCE,LFENCE,MFENCE,MOVNTI,   CLFLUSH,CRC32和POPCNT。