首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SSE (fma)编译Delphi单元

用SSE (fma)编译Delphi单元
EN

Stack Overflow用户
提问于 2017-10-30 20:20:01
回答 1查看 430关注 0票数 0

在Free中,您可以通过https://www.freepascal.org/docs-html/current/prog/prog.html#QQ2-333-379中的条件定义确定代码是否使用SSE2/3/64指令编译,表G.3:使用FPC编译时可能定义

代码语言:javascript
复制
FPUSSE2   SSE 2 instructions on Intel I386 and higher. 
FPUSSE3   SSE 3 instructions on Intel I386 and higher, AMD64.
FPUSSE64  SSE64 FPU on Intel I386 and higher, AMD64. 

我知道Delphi 64位编译器在Win RTL中使用SSE,但我的问题是:

在Delphi中是否有已知的方法在编译时检查,如果一个单元是用SSE指令编译的,特别是如果a*b + c是用硬件fma指令计算的?

EN

回答 1

Stack Overflow用户

发布于 2017-10-30 20:37:44

在Delphi中是否有已知的方法在编译时检查一个单元是否使用SSE指令编译?

在Intel平台上,如果定义了CPUX64条件,则编译器使用SSE指令生成浮点代码。否则,生成x87指令。

没有Delphi编译器使用FMA指令生成代码。自dcc64首次在XE2中发布以来,它使用的浮点码元没有发生实质性的变化。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47023549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档