在英特尔IA-32架构手册第3A卷第2章中,CR4.OSFXSR
解释如下:
设置后,启用处理器执行SSE / SSE2 / SSE3 / SSSE3 / SSE4指令, 除了PAUSE,PREFETCHh,SFENCE,LFENCE,MFENCE,MOVNTI, CLFLUSH,CRC32和POPCNT。
问题是我是否想同时使用SSE2和PREFETCHh指令,我该怎么办?
答案 0 :(得分:4)
是的,措辞可能更清晰。他们的意思是CR4.OSFXSR
位仅控制与SSE寄存器一起使用的指令的执行。提到的其他指令不访问SSE寄存器,因此它们始终可用(如果已实现)。
以下引用更清楚:
如果该标志清零,[...]此外,如果处理器将产生无效的操作码异常(#UD) 它尝试执行任何SSE / SSE2 / SSE3指令,用 例外 PAUSE,PREFETCHh,SFENCE,LFENCE,MFENCE,MOVNTI, CLFLUSH,CRC32和POPCNT。