Skip to content

Intel architecture improvements for .NET 10 #108869

Open
@BruceForstall

Description

@BruceForstall

This issue describes planned improvements to Intel architecture (x86, x64) ISA support for .NET 10.

The primary addition will be APX support, which is expected to be available in .NET 10 but considered "Experimental", and possibly requiring explicit opt-in via some kind of configuration option, pending available hardware, testing, and completion status.

For reference, here is the corresponding .NET 9 issue for Intel architecture improvements: #93196

APX

APX is a new ISA extension (see here for a summary and links to specifications). Notably, it doubles the number of general-purpose registers from 16 to 32, as well as adding new encodings and instructions.

There is an "apx" label that should be added to any APX related GitHub issue. Here is a query showing all such issues: apx Related to the Intel Advanced Performance Extensions (APX) .

Work items:

Basic support: CPUID detection, encodings

Conditional instructions

Register allocation (LSRA)

Push2/pop2

Uncategorized

Non-JIT: P/Invoke, GC info, diagnostics

AVX10

AVX10v2 API design

General API design

Bugs and uncategorized work

Future work

The following work was pushed to the future.

General API design

Libraries work

RyuJIT feature work

Vector<T>

  • Consider Vector<T> expanding to Vector512<T>, either automatically or opt-in. (@tannergooding plans to get back to it as a best effort.)

JCC erratum

Debugging / diagnostics work (@BruceForstall)

Metadata

Metadata

Assignees

Labels

User StoryA single user-facing feature. Can be grouped under an epic.apxRelated to the Intel Advanced Performance Extensions (APX)area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIavx10Related to the AVX10 architectureavx512Related to the AVX-512 architecture

Type

No type

Projects

Status

Team User Stories

Relationships

None yet

Development

No branches or pull requests

Issue actions