Skip to content

Provide x86-64-v2 optimizations #247

Open

Description

@lemire

Windows 11 version 24H2, Rocky Linux 9, RedHat Linux 9, all defaults on x86-64-v2 which means that we have SSSE3, SSE4.1, SSE4.2 and POPCNT. We might be able to include more optimizations for these cases.

https://gist.github.com/CKingX/0d555071fa5555c4a982b20e8273077f

Activity

  1. IRainman commented on Mar 9, 2025

    @IRainman

    Also since Windows 8 it's not boot without popcnt.

  2. lemire commented on Mar 10, 2025

    @lemire
    MemberAuthor

    @IRainman We may not be able to support x86-64-v2 optimizations under Visual Studio because it does not set macros.

    Having to do runtime dispatching might be too much for a header-only library.

  3. IRainman commented on Oct 9, 2026

    @IRainman

    2. @IRainman We may not be able to support x86-64-v2 optimizations under Visual Studio because it does not set macros.
    Having to do runtime dispatching might be too much for a header-only library.

    Yes, but for MSVC in my fork, I add a manual possibility to set the x86 vector level, and it's automatically enabled SSE4.2 path when AVX is present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions