Intel i7-8705G使用什么指令集?

时间:2019-07-11 00:22:04

标签: x86 intel instruction-set isa

我需要将一些代码转换为Intel i7-8705G的ISA,但我不知道它使用的x86-64 ISA版本。

我想使用Godbolt here并从下拉列表中选择ISA,但是x86-64有多个版本。哪种处理器最适合我的处理器?

我很惊讶地看到几个版本。在intel网站上,它只是将其列为64位。 here

1 个答案:

答案 0 :(得分:3)

  

我需要将一些代码转换为Intel i7-8705G的ISA,但是我不知道它使用的x86-64 ISA版本。

x86-64 ISA没有版本。这是具有大量可选扩展的8086的指令集,其中(至少在理论上)这些扩展中的每个扩展都可以在任何(现有或将来的)80x86 CPU上存在/不存在,并且其中大多数扩展都在其中指明由CPUID指令返回的一组大约100个标志来表示存在/不存在。

为弄清所有可能性,GCC(其-mtune-march选项)基于英特尔提供的微体系结构名称已预定义了“ CPU名称”。对于Intel i7-8705G,微架构为“ Kaby Lake”。 GCC的最新版本没有Kaby Lake的预定义名称。但是Kaby Lake是对先前的微体系结构的优化,英特尔将其称为Skylake,而GCC确实具有预定义的名称“ skylake”,因此这将是最佳选择(例如-march=skylake)。

注:我在godbolt上找不到任何体系结构的下拉列表,所以我想知道您是否感到困惑并正在考虑其他问题(编译器列表,其中每个编译器具有多个版本)。