Bee*_*ope 6 performance x86 gcc
GCC 支持-march允许您指定目标架构的开关 - 允许它调整该平台的指令序列以及使用该平台上可能可用但在“默认”或基本版本上不可用的指令架构。
例如,-march=skylake将告诉编译器以 Skylake CPU 为目标,包括使用 Skylake 上可用的指令集,例如 AVX2。
如何判断-march本地版本gcc支持的值?当传递无效参数时,较新版本有助于列出有效参数,但较旧版本不会。
Pet*_*des 12
对于 gcc7 及更高版本,gcc 将打印它支持的值作为错误消息的一部分。
\n\n$ gcc -E -march=help -xc /dev/null\n# 1 "/dev/null"\ncc1: error: bad value (\xe2\x80\x98help\xe2\x80\x99) for \xe2\x80\x98-march=\xe2\x80\x99 switch\ncc1: note: valid arguments to \xe2\x80\x98-march=\xe2\x80\x99 switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 bonnell atom silvermont slm knl x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2\nRun Code Online (Sandbox Code Playgroud)\n\n我检查了 Godbolt和 x86 gcc6.x 以及更早的版本,只是说 error: bad value (invalid) for -march= switch甚至与-v.
它也不适用于 clang5.0 或 ICC18。
\n\n这是特定于目标的:ARM gcc6.3 确实会生成受支持值的列表-march,或-mcpu=.
| 归档时间: |
|
| 查看次数: |
5549 次 |
| 最近记录: |