Overview
As Vector's supported platforms age out, we can raise the minimum x86-64 microarchitecture level in our builds, unlocking better codegen (SIMD, BMI, FMA, etc.) without breaking users.
Related to #21721 (platform support tiers).
Background
The x86-64 microarchitecture levels define stable feature tiers:
| Level |
Key features |
Oldest hardware |
| v1 |
SSE2 (baseline) |
Any x86_64 |
| v2 |
SSE4.2, POPCNT, SSSE3 |
~2008–2009 (Intel Nehalem / AMD Bulldozer 2011) |
| v3 |
AVX, AVX2, BMI1, BMI2, FMA |
Intel Haswell 2013 / AMD EPYC 2017 |
| v4 |
AVX-512 |
Too fragmented, skip |
Upgrade milestones
x86-64-v2
- RHEL: RHEL 9 officially documents x86-64-v2 as its minimum CPU requirement. Once RHEL 8 reaches EOL (31 May 2029), all supported RHEL versions mandate v2 — clean policy justification.
- Other platforms: v2 hardware (SSE4.2) has been universal since ~2011. Pre-Bulldozer AMD is the only realistic gap, and that hardware is well beyond any reasonable support window today.
Action: Enable -C target-feature / target-cpu=x86-64-v2 for Linux x86_64 builds after 31 May 2029.
x86-64-v3
- RHEL: RHEL 10 (released 2025) reportedly raises the minimum to x86-64-v3. Once RHEL 9 reaches EOL (~2032), all supported RHEL versions would mandate v3.
- Ubuntu: Ubuntu does not publish explicit microarchitecture minimums, so EOL dates don't provide the same clean justification. Hardware running Ubuntu 24.04+ is practically v3 capable, but this is a heuristic rather than a policy guarantee.
Action: Enable target-cpu=x86-64-v3 for Linux x86_64 builds after RHEL 9 EOL (~2032), once confirmed.
Notes
- aarch64: NEON is the baseline and remains so. LSE is already handled via
portable-atomic. No equivalent level-upgrade path applies.
- AVX-512 (v4): AMD only added this with Zen 4 (2022) — too fragmented to target in the near term.
- Ubuntu does not specify required x86-64 microarchitecture levels, but we should probably stick with what RHEL supports as a decider.
Checklist
Overview
As Vector's supported platforms age out, we can raise the minimum x86-64 microarchitecture level in our builds, unlocking better codegen (SIMD, BMI, FMA, etc.) without breaking users.
Related to #21721 (platform support tiers).
Background
The x86-64 microarchitecture levels define stable feature tiers:
Upgrade milestones
x86-64-v2
Action: Enable
-C target-feature/target-cpu=x86-64-v2for Linux x86_64 builds after 31 May 2029.x86-64-v3
Action: Enable
target-cpu=x86-64-v3for Linux x86_64 builds after RHEL 9 EOL (~2032), once confirmed.Notes
portable-atomic. No equivalent level-upgrade path applies.Checklist