Skip to content

Track x86-64 microarchitecture level upgrades per platform support windows #25613

Description

@thomasqueirozb

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

  • Confirm RHEL 10 officially mandates x86-64-v3 (track when Red Hat publishes final hardware requirements)
  • Enable x86-64-v2 in Linux x86_64 build configs after RHEL 8 EOL (31 May 2029)
  • Enable x86-64-v3 in Linux x86_64 build configs after RHEL 9 EOL (~2032)
  • Update platform support documentation (Introduce platform support and related documentation #21721)

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain: external docsAnything related to Vector's external, public documentationdomain: performanceAnything related to Vector's performancedomain: platformsAnything related to Vector's supported platformsdomain: releasingAnything related to releasing Vector
    No fields configured for Enhancement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions