Repository navigation
Improve Arm64 for .NET12 #135627
Copy link
Copy link
Open
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support
Milestone
Description
We will continue to improve the Arm64 port for .NET12. It will include improving support for SVE, Vector-Length-Agnostic, PAC-RET along with overall code quality and performance improvements.
Vector- Length-Agnostic SVE
- Complete support for JIT
Arm64-SVE: Support accessing unknown-sized Tier-0 locals from Tier-1 (OSR) #132752
Arm64-SVE: Add scheme for scalable SVE state in the CONTEXT record #133152
Arm64-SVE: Support scalable SIMD loads, stores, returns, and frame offsets #135944
Arm64-SVE: Support unknown size accesses in IsContainableLclAddr #135665
Arm64-SVE: Support Vector<T> as element of an array #133943
Arm64-SVE: Implement Vector<T> HIR with SVE #133422
Arm64-SVE: Add scheme for scalable SVE state in the CONTEXT record #133152 - Improve SVE codegen quality
- Address calling convention requirements
- Begin work on VL agnostic support for NativeAOT
- Improve Codegen and Performance
Support and Optimisations
- Non-SVE
JIT: initialize tracked-local counts before liveness #134782
Arm64: Reuse stale copy registers #136368 - SVE/SVE2
arm64: Optimize Vector helper APIs #132117
arm64: Reuse SVE mask constants in LSRA #131309
arm64: Improve predicate instruction usage #129506 - Investigate using TPDiff on Arm64
- Evaluate using DynamoRIO
APIs
- Add SVE AES:Add SVE AES APIs #130859
Add SVE AES APIs #130859
PAC and Security
- Add support for cDAC
[cDAC] Fix incorrect filtering of stack-interior references #136089
Arm64: [PAC-RET] cDAC changes #135959 - Support & Optimise PAC-RET
Arm64:[PAC-RET]Fix ARM64 epilog detection and PAC signing SP recovery #135088 - Combine authenticate and return instruction using retaa
- Investigate Branch Target Identification (BTI)
- Investigate Guarded Control Stack (GCS)
Aspirational Goals
- Enable PAC-RET for .NET 12 by default
Future Architecture Features
FEAT_MOPS
- Add encodings
- Investigate use cases
- Core libraries, such as SpanHelpers.cs
- CoreCLR, such as CodeGen::genCodeForMemmove()
FEAT_LRCPC3
- Add encodings
- Investigate use cases
- CacheCast checks
FEAT_CSSC
- Add encodings and optimisations
FEAT_FAMINMAX
- Add encodings and optimisations
- FEAT_SVE_LRCPC, FEAT_SVE2p1, FEAT_SVE2p2, FEAT_SVE2p3
- API Design
Metadata
Metadata
Assignees
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support
Activity
SwapnilGaikwad commentedon Oct 12, 2026
@dotnet/arm64-contrib @dotnet/jit-contrib @JulieLeeMSFT
dotnet-policy-service commentedon Oct 12, 2026
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.