Ruf*_*ufo 5 optimization gcc clang
Clang和GCC有两个开关,-mcpu
并且-march
可以为所选的CPU启用一些优化.即-march=i686
内部启用-mmmx
,-msse
等等.
我想知道是否有一些命令可以显示什么开关被激活march
,并mcpu
为每个CPU.我更喜欢一个命令,但我也接受带有信息的代码位置的答案.
对于海湾合作委员会,尝试
\n\ngcc -mcpu=native -Q --help=target
它打印的第一行:
\n\n\n\n\ngcc:警告:\xe2\x80\x98-mcpu=\xe2\x80\x99 已弃用;使用 \xe2\x80\x98-mtune=\xe2\x80\x99 或 \xe2\x80\x98-march=\xe2\x80\x99\n 代替
\n
其次是
\n\nThe following options are target specific:\n -m128bit-long-double [disabled]\n -m32 [disabled]\n -m3dnow [disabled]\n -m3dnowa [disabled]\n -m64 [enabled]\n -m80387 [enabled]\n -m8bit-idiv [disabled]\n [...]\n
Run Code Online (Sandbox Code Playgroud)\n\n这回答了 gcc 的部分。
\n\n不幸的是,我对 clang 不熟悉。到目前为止我能想到的最好的办法是:
\n\nclang --target=i386 -### myfile.c
。
其中-###
使选项得以显示。手臂显示不同的东西。我不确定这对你来说是否足够。
设置选项的文件似乎是Targets.cpp,尽管它没有太大帮助,因为它是一个 5.8k 行长的文件。
\n\n在查看 llvm 代码生成之后,我的印象是 clang/LLVM 没有 gcc 那么多的目标特定选项。例如,请参阅特定于目标的功能矩阵或llc公开(记录)的选项。
\n\n还有一件事:clang 有意公开的编译器优化选项要少得多。例如, clang 中没有-finline-limit
暴露类似物。
也许-###
最终会打印所有暴露的东西。
归档时间: |
|
查看次数: |
2171 次 |
最近记录: |