AMD (high performance)
K8 (Hammer)
AMD K8 (Hammer) (2003) supports x86-64-v1.
- x86-64 level
- x86-64-v1
- Vendor
- AMD
- First products
- 2003
- Products
- Athlon 64, Opteron, Turion 64 and 64-bit Sempron
- Segments
- GCC target
-march=k8
Later revisions add SSE3 (GCC's -march=k8-sse3) and LAHF/SAHF in 64-bit mode, but neither of GCC's K8 sets has SSSE3, so all of them stay at the baseline.
Product lines
| Product line | Segment | Socket | Source |
|---|---|---|---|
| Athlon 64 | desktop | Socket 754, Socket 939, AM2 | amd.com |
| Athlon 64 FX | desktop | Socket 940, Socket 939, AM2, Socket F | amd.com |
| Athlon 64 X2 | desktop | Socket 939, AM2 | amd.com |
| Athlon X2 | desktop | AM2 | web.archive.org |
| Sempron | desktop | Socket 754, Socket 939, AM2 | amd.com |
| Athlon 64 | mobile | Socket 754, S1g1 | amd.com |
| Athlon 64 X2 | mobile | S1g1 | web.archive.org |
| Sempron | mobile | Socket 754, S1g1, ASB1 (BGA) | amd.com |
| Turion 64 | mobile | Socket 754, S1g1 | amd.com |
| Turion 64 X2 | mobile | S1g1 | web.archive.org |
| Athlon Neo | mobile | ASB1 (BGA) | web.archive.org |
| Turion Neo X2 | mobile | ASB1 (BGA) | web.archive.org |
| Opteron 100/200/800 | server | Socket 940, Socket 939 | amd.com |
| Opteron 1000/2000/8000 | server | Socket F, AM2 | web.archive.org |
| Athlon 64 | embedded | AM2 | ir.amd.com |
| Turion 64 X2 | embedded | S1g1 | ir.amd.com |
| Sempron | embedded | S1g1 | ir.amd.com |
Why not x86-64-v2?
K8 (Hammer) lacks CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2 and SSSE3, all of which x86-64-v2 requires.
Feature checklist
| Feature | K8 (Hammer) | 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 | No | CPUID.01H:ECX[13] | cx16 |
| LAHF-SAHF | No | CPUID.80000001H:ECX[0] | lahf_lm |
| POPCNT | No | CPUID.01H:ECX[23] | popcnt |
| SSE3 | No | CPUID.01H:ECX[0] | pni |
| SSE4.1 | No | CPUID.01H:ECX[19] | sse4_1 |
| SSE4.2 | No | CPUID.01H:ECX[20] | sse4_2 |
| SSSE3 | No | 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 | No | CPUID.01H:ECX[22] | movbe |
| OSXSAVE via XSAVE | No | 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 |
Known vulnerabilities
The CVEs that the sources of the vulnerability list name as affecting K8 (Hammer), in all of its models or in some of them.
- CVE-2017-5753 Spectre variant 1: Bounds Check Bypass
- CVE-2017-5715 Spectre variant 2: Branch Target Injection
Other AMD (high performance) microarchitectures
Sources
- GCC -march=k8 (processor alias table)
- GCC documentation, -march=k8 and -march=k8-sse3 (gcc/doc/invoke.texi): Processors based on the AMD K8 core, among them the Opteron, Athlon 64 and Athlon 64 FX; k8-sse3 covers the later K8 cores with SSE3.
- Linux 7.3 arch/x86/kernel/cpu/amd.c: family 0Fh runs the K8 code
- Linux 7.3 arch/x86/kernel/cpu/amd.c: the K8 code names the processor Hammer by default
- Linux 7.3 arch/x86/kernel/cpu/amd.c: LAHF/SAHF in 64-bit mode only from K8 revision D (AMD erratum 110)
- Revision Guide for AMD Athlon 64 and AMD Opteron Processors (25759, rev. 3.79): The revision history dates the guide’s initial public release to April 2003.