Intel Atom and E-cores
Goldmont
Intel Goldmont (2016) supports x86-64-v2.
- x86-64 level
- x86-64-v2
- Vendor
- Intel
- First products
- 2016
- Products
- Celeron and Pentium N3350/J3455 (Apollo Lake); Atom C3000 (Denverton)
- Segments
- GCC target
-march=goldmont- Optimization
- Optimizing code for Silvermont to Goldmont Plus
Product lines
Why not x86-64-v3?
Goldmont lacks AVX, AVX2, BMI1, BMI2, F16C, FMA and LZCNT, all of which x86-64-v3 requires.
Feature checklist
| Feature | Goldmont | Enumerated by | Linux flag |
|---|---|---|---|
| x86-64-v1 | |||
| CMOV | Yes | CPUID.01H:EDX[15] | cmov |
| CX8 | Yes | CPUID.01H:EDX[8] | cx8 |
| FPU | Yes | CPUID.01H:EDX[0] | fpu |
| FXSR | Yes | CPUID.01H:EDX[24] | fxsr |
| MMX | Yes | CPUID.01H:EDX[23] | mmx |
| OSFXSR via FXSR | Yes | CPUID.01H:EDX[24] | fxsr |
| SCE | Yes | CPUID.80000001H:EDX[11] | syscall |
| SSE | Yes | CPUID.01H:EDX[25] | sse |
| SSE2 | Yes | CPUID.01H:EDX[26] | sse2 |
| x86-64-v2 | |||
| CMPXCHG16B | Yes | CPUID.01H:ECX[13] | cx16 |
| LAHF-SAHF | Yes | CPUID.80000001H:ECX[0] | lahf_lm |
| POPCNT | Yes | CPUID.01H:ECX[23] | popcnt |
| SSE3 | Yes | CPUID.01H:ECX[0] | pni |
| SSE4.1 | Yes | CPUID.01H:ECX[19] | sse4_1 |
| SSE4.2 | Yes | CPUID.01H:ECX[20] | sse4_2 |
| SSSE3 | Yes | CPUID.01H:ECX[9] | ssse3 |
| x86-64-v3 | |||
| AVX | No | CPUID.01H:ECX[28] | avx |
| AVX2 | No | CPUID.(EAX=07H,ECX=0):EBX[5] | avx2 |
| BMI1 | No | CPUID.(EAX=07H,ECX=0):EBX[3] | bmi1 |
| BMI2 | No | CPUID.(EAX=07H,ECX=0):EBX[8] | bmi2 |
| F16C | No | CPUID.01H:ECX[29] | f16c |
| FMA | No | CPUID.01H:ECX[12] | fma |
| LZCNT | No | CPUID.80000001H:ECX[5] | abm |
| MOVBE | Yes | CPUID.01H:ECX[22] | movbe |
| OSXSAVE via XSAVE | Yes | CPUID.01H:ECX[26] | xsave |
| x86-64-v4 | |||
| AVX512F | No | CPUID.(EAX=07H,ECX=0):EBX[16] | avx512f |
| AVX512BW | No | CPUID.(EAX=07H,ECX=0):EBX[30] | avx512bw |
| AVX512CD | No | CPUID.(EAX=07H,ECX=0):EBX[28] | avx512cd |
| AVX512DQ | No | CPUID.(EAX=07H,ECX=0):EBX[17] | avx512dq |
| AVX512VL | No | CPUID.(EAX=07H,ECX=0):EBX[31] | avx512vl |
Other extensions
Notable extensions outside the x86-64 levels. Vendors sometimes disable these on individual models. Linked names lead to the extension's instructions.
Known vulnerabilities
The CVEs that the sources of the vulnerability list name as affecting Goldmont, in all of its models or in some of them.
- CVE-2023-28746 Register File Data Sampling
- CVE-2022-38090 Intel SGX: Stale data read from the legacy xAPIC under SGX
- CVE-2022-21233 Stale Data Read from Legacy xAPIC
- CVE-2022-0004 Intel BIOS, UEFI and SMM: Boot Guard and TXT lock override Some models
- CVE-2022-0002 Spectre variant 2: Intra-mode Branch Target Injection
- CVE-2021-0089 Speculative Code Store Bypass
- CVE-2021-0086 Floating Point Value Injection
- CVE-2020-24513 Atom Processor Domain Bypass
- CVE-2020-8695 RAPL Energy Reporting: RAPL energy reporting
- CVE-2019-1125 Spectre variant 1: Spectre v1 swapgs
- CVE-2018-3639 Speculative Store Bypass
- CVE-2017-5753 Spectre variant 1: Bounds Check Bypass
- CVE-2017-5715 Spectre variant 2: Branch Target Injection
Other Intel Atom and E-cores microarchitectures
Sources
- GCC -march=goldmont feature set (PTA_GOLDMONT)
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 4, 335592-093, Table 2-1: Models 06_5CH and 06_5FH: Atom processors based on Goldmont, 06_5FH Denverton.
- Intel ARK: Products formerly Apollo Lake: Launch dates; the earliest is Q3'16 (Pentium J4205).
- Linux 7.3 arch/x86/include/asm/intel-family.h: INTEL_ATOM_GOLDMONT (Apollo Lake), INTEL_ATOM_GOLDMONT_D (Denverton)