我正在使用一些数字处理代码,这些代码本质上是浮点密集型的,而且速度很慢。它是研究代码,因此可以针对一种架构进行定制,并在 Core 2 Quad 机器上运行。我的理解是,对于 Pentium 4/Netburst 架构,Intel 严重剥离了 x87 FPU,采用了更加以 SSE2 为中心的设计。这导致 x87 代码的性能很糟糕。但是,Core 2 架构与 P6 架构的关系比 Netburst 更密切。
我的编译器根本不针对 SSE AFAIK,我的理解是很少有编译器能很好地做到这一点。此外,我使用的是相当前沿的 D 语言,因此可用的编译器并不多。但是,我不想切换语言,既是因为我现有代码的惯性,也是因为尽管它不成熟,但我真的很喜欢 D。
Core 2 架构是否也具有精简的 x87 FPU?如果是这样,解决此问题的最佳方法是什么?