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

What instruction set does the intel i7- 8705G use?

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

我想使用下拉列表中的 godbolt here 和 select ISA,但 x86-64 有多个版本。哪一个适合我的处理器?

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

I need to convert some code to the ISA of the intel i7-8705G but i do not know which version of the x86-64 ISA it uses.

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

为了理解所有可能性,GCC(它的 -mtune-march 选项)已经根据英特尔给出的名称 micro-architectures 预定义了 "CPU names"。对于英特尔 i7-8705G,micro-architecture 为 "Kaby Lake"。最新版本的 GCC 没有 Kaby Lake 的 pre-defined 名称;然而,Kaby Lake 是对之前英特尔称为 Skylake 的 micro-architecture 的优化,而 GCC 确实具有预定义名称 "skylake",因此这将是最佳选择(例如 -march=skylake)。

注意:我在 Godbolt 上找不到任何 drop-down 体系结构列表,所以我想知道您是否感到困惑并且正在考虑其他事情(编译器列表,每个编译器都有多个版本)。