Greg
Greg

Reputation: 504

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

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.

I want to use godbolt here and select the ISA from the drop down list but there are several versions of the x86-64. Which one is correct for my processor?

I was surprised to see several versions. On the intel web site it simply lists it as 64 bit. here

Upvotes: 0

Views: 1125

Answers (1)

Brendan
Brendan

Reputation: 37262

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.

The x86-64 ISA doesn't have versions. It's the instruction set from an 8086 with a large number of optional extensions, where (at least in theory) each of these extensions could be present/not present on any (existing or future) 80x86 CPU, and where most of the extensions are indicated as present/not present by a set of about 100 flags returned by the CPUID instruction.

To make sense of all the possibilities, GCC (its -mtune and -march options) have predefined "CPU names" based on the name Intel gives micro-architectures. For Intel i7-8705G, the micro-architecture was "Kaby Lake". The newest version of GCC doesn't have a pre-defined name for Kaby Lake; however Kaby Lake was an optimization of a previous micro-architecture that Intel called Skylake, and GCC does have the predefined name "skylake", so that would be the best possible option (e.g. -march=skylake).

Note: I couldn't find any drop-down list of architectures on godbolt, so I'm wondering if you got confused and were thinking of something else (the list of compilers, where each compiler has multiple versions).

Upvotes: 4

Related Questions