在 Intel IA-32 架构手册第 3A 卷第 2 章中,CR4.OSFXSR
解释如下:
When set, enable the processor to execute SSE/SSE2/SSE3/SSSE3/SSE4 instructions, with the exception of the PAUSE,PREFETCHh, SFENCE, LFENCE, MFENCE,, MOVNTI, CLFLUSH, CRC32, and POPCNT.
问题是如果我想同时使用SSE2和PREFETCHh指令,我该怎么做?
最佳答案
是的,措辞可以更清楚。他们想说的是CR4.OSFXSR
位仅控制与 SSE 寄存器一起使用的指令的执行。提到的其他指令不访问 SSE 寄存器,因此它们始终可用(如果已实现)。
下面的引用更清楚一点:
If this flag is clear, [...] Also, the processor will generate an invalid opcode exception (#UD) if it attempts to execute any SSE/SSE2/SSE3 instruction, with the exception of PAUSE, PREFETCHh, SFENCE, LFENCE, MFENCE, MOVNTI, CLFLUSH, CRC32, and POPCNT.
关于assembly - 如何同时使用 SSE2 和 PREFETCHh 指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434793/