Skip to content

ARM64EC: What even is it? #2740

@StephanTLavavej

Description

@StephanTLavavej

In addition to the four major architectures (x86, x64, ARM, ARM64), we support CHPE and ARM64EC. In particular, ARM64EC is both a priority and actively evolving. However, as library devs, we have a highly incomplete and confused understanding of how this works. It would be extremely helpful to have documentation (either on Microsoft Docs or just on the STL Wiki) explaining a few important things for library devs. In particular:

  • The high-level scenario of how these binaries are compiled, what processor they run on, and what code they interact with (i.e. how ARM64EC interacts with x64 and ARM64)
  • What intrinsics are available
    • Can we use ARM64 intrinsics?
    • Can we use x64 intrinsics? (Some subset of them?)
    • What's emulated versus native?

I recall getting some answers to these questions in various emails but have forgotten, so having a single up-to-date reference would be very helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ARM64Related to the ARM64 architecturedocumentationRelated to documentation or commentsresolvedSuccessfully resolved without a commit

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions