首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何使所有的英特尔内在选择GCC?

我如何使所有的英特尔内在选择GCC?
EN

Stack Overflow用户
提问于 2021-11-02 18:43:21
回答 1查看 669关注 0票数 0

参考GCC内置的函数:https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html

您可以通过指定编译标志来启用这些函数,例如: gcc -mavx main.c

是否有允许所有这些的标志选项?

EN

Stack Overflow用户

回答已采纳

发布于 2021-11-04 02:39:03

如果要使用本地CPU的所有固有特性,则需要使用-march=native

-march=cpu-type

  • 选项

为机器类型cpu-类型生成指令.相对于仅调优指定cpu类型的生成代码的-mtune=cpu-type,-march=cpu-type允许GCC生成可能在所示处理器以外的处理器上完全不运行的代码。指定-march=cpu-type意味着-mtune=cpu-类型,除非另有说明。

如果cpu类型为native,则为

--通过确定编译机的处理器类型,选择在编译时生成代码的CPU。使用-march=native启用本地机器支持的所有指令集(因此结果可能不会在不同的机器上运行)。使用-mtune=native生成在所选指令集约束下为本地机器优化的代码。

如果您以其他CPU为目标,则希望针对最小的本质子集。但是,在下面的体系结构中,固有集并不总是在增长。例如,并不是tigerlake中的所有指令都是用alderlake编写的,而且也是相互对应的:

提供64位扩展的

Intel Tigerlake CPU、MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE 4.2、POPCNT、PKU、AVX、AVX2、AES、PCLMUL、FSGSBASE、RDRND、FMA、BMI、BMI2、F16C、RDSEED、ADCX、PREFETCHW、CLFLUSHOPT、XSAVEC、XSAVES、AVX512F、AVX512VL、AVX512BW、AVX512DQ、AVX512CD、AVX512VBMI、AVX512IFMA、SHA、CLWB、UMIP、RDPID、and、AVX512VBMI2、AVX512VBMI、bit#19##、VPCLMULQDQ、VAES、VAES、WBNOINVD #、XSAVES、AVX512F、AVX512VL、AVX512BW、AVX512DQ、AVX512CD、AVX512VBMI、AVX512IFMA、SHA、CLWB、UMIP、RDPID、and、AVX512VBMI2、、VPCLMULQDQ、VAES、PCONFIG、XSAVEC#20、KEYLOCKER #KEYLOCKER#和KEYLOCKER#21。

具有64位扩展的英特尔Alderlake CPU、MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE 4.2、POPCNT、AES、PREFETCHW、PCLMUL、RDRND、XSAVE、XSAVEC、XSAVES、XSAVEOPT、FSGSBASE、PTWRITE、RDPID、SGX、UMIP、GFNI-SSE、CLWB、MOVDIRI、MOVDIR64B、CLDEMOTE、WAITPKG、ADCX、、LZCNT、PCONFIG、PKU、AES、PCLMUL、HRESET、CLWB、MOVDIRI、MOVDIR64B、CLDEMOTE、WAITPKG、ADCX、、LZCNT、PCONFIG、PKU、AES、PCLMUL、HRESET、KL、KL和VNNI。

参考资料:

https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

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

https://stackoverflow.com/questions/69815504

复制
相关文章

相似问题

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