gcc'的目标是哪个cpu;s-mtune=通用?

gcc'的目标是哪个cpu;s-mtune=通用?,gcc,Gcc,使用gcc,您可以指定“-mtune=”或“-mtune=generic” 我如何知道gcc的“-mtune=generic”针对的是哪个体系结构?它应该根据GCC的不同版本而有所不同 文件说: 随着市场上部署新处理器,此选项的行为将发生变化。因此,如果升级到较新版本的GCC,由该选项控制的代码生成将发生更改,以反映GCC版本发布时最常见的处理器。 我如何知道每个版本的GCC目标是哪一个 文件说: 所以我猜泛型的“意思”是i686,但这是一个特殊的CPU吗 我如何知道gcc的“-mtune=

使用gcc,您可以指定“-mtune=”或“-mtune=generic”

我如何知道gcc的“-mtune=generic”针对的是哪个体系结构?它应该根据GCC的不同版本而有所不同

文件说:

随着市场上部署新处理器,此选项的行为将发生变化。因此,如果升级到较新版本的GCC,由该选项控制的代码生成将发生更改,以反映GCC版本发布时最常见的处理器。

我如何知道每个版本的GCC目标是哪一个

文件说:

所以我猜泛型的“意思”是i686,但这是一个特殊的CPU吗

我如何知道gcc的“-mtune=generic”针对的是哪个体系结构

通过阅读真实文档,gcc的源代码(在
开关(调谐)
之后搜索
处理器_GENERIC
):

对于x86(32/64位),它不会定义内置/arch宏

  /* Built-ins based on -mtune=.  */
  switch (tune)

    case PROCESSOR_GENERIC:
      break;
并且不会使用cpuid检测本地cpu(
host\u detect\u local\u cpu
在没有
cpu=native
/
tune=native


您可以尝试添加
-fverbose asm-S
并检查生成的asm的第一行以获取选项。

您可以尝试添加
-fverbose asm-S
并检查生成的asm的第一行以获取选项…您想知道x86/x86_64或任何gcc支持的arch的mtune=generic吗?它不一定针对某个特定的cpu。它可以是compromise,避免在amd cpu上运行速度非常慢的代码,避免在intel cpu上运行速度非常慢的其他代码,最后给出一些对任何cpu都不是最优的但在任何地方都可以的代码。
  /* Built-ins based on -mtune=.  */
  switch (tune)

    case PROCESSOR_GENERIC:
      break;