【发布时间】:2012-07-18 03:10:56
【问题描述】:
我知道在 SSE4 中,添加了一些有利于字符串搜索的指令,特别是 xml 解析。假设我编写了一个利用这些指令的程序,当我将程序移动到另一台具有较旧处理器但没有 SSE4 指令集的计算机时会发生什么?程序会中断吗?
我假设编译器会生成哪些指令作为其优化过程的一部分使用,如果编译器在旧 i386 上运行但软件以 i486 为目标,我会丢失这六个指令吗?
如果这就是它的工作原理,那么我有一些音频制作软件,在我安装它的任何计算机上都可以正常工作,但声称可以利用这些扩展指令。只是运行时检查和不同的代码路径吗?
所有这些对 Java 字节码或 msil 等中间语言有何影响?
【问题讨论】:
-
有多种方法。有些人生成两个版本并在运行时选择。如果 CPU 不支持指令,其他程序会崩溃。 JIT 语言可以在 JIT 时间选择。
-
您能描述一下您遇到的实际编程问题吗?
-
如果性能至关重要,您甚至可能希望实现单个包装函数并在运行时修补其调用目标以选择正确的版本。
标签: compilation opcode instruction-set