作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于海湾合作委员会CFLAGS
选项:-msse
, -msse2
, -mssse3
, -msse4
, -msse4.1
, -msse4.2
。它们是单独使用还是可以一起使用?
我的理解是,选择设置取决于程序将运行的目标架构是否支持它 - 这是正确的吗?
如果是这样,我怎么知道我的目标架构支持什么 sse?在 Linux 中,我 cat/proc/cpuinfo,但如果是 Mac 或 Windows 呢?
谢谢!
最佳答案
-m
开关可以并行使用,而且其中一些是由架构或其他开关暗示的。例如,如果您为 x86_64 构建代码,则始终启用 -msse -msse2
。
对于要在您的系统上运行的代码,您应该选择-march=native
,这将选择您的处理器上可用的代码。例如,如果您有 Sandy Bridge,这将启用 -msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -msse4.2 -mavx
。
如果您想详细指定要使用的指令集,您应该只使用可用的指令集,而不是始终使用“最新”的指令集。目前“最新”的是 -mavx2
,我不推荐使用它:第一个支持它的处理器将于 2013 年推出。
关于gcc - -msse、-msse2、-mssse3、-msse4 rtc.. 的 cflgs sse 选项有什么区别?以及如何确定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10686638/
我是一名优秀的程序员,十分优秀!