-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-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 SuperPMI
Milestone
Description
Overview
As we did in the past for .NET 5, .NET 7 and .NET 8, we would like to continue improving Arm64 in .NET 9 as well. Here are the top-level themes we plan to address. Some of the issues are from the past releases that we did not get time to work upon. while others are about adding instructions of newer arm versions or exposing the Arm functionality to the .NET API level.
New instructions
- Arm64: Add SVE/SVE2 support in .NET 9 #93095
- [API Proposal]: Arm64 [Load/Store]Vector64 and [Load/Store]Vector128 for 2,3 and 4 variants #84510
- Explore new instructions added in Armv8.3 ~ Armv9 and see if we can use them in JIT
- Start using Post increment addressing mode in JIT wherever applicable.
Performance improvements
- Review the multi-op instruction usage for Arm64 #68028
- Consider using SIMD registers for "hot" local variables instead of placing them on stack when out of free GP registers #10444
- Arm64: Use VectorTableLookup/VectorTableLookupExtension APIs in libraries #84328
- Consume LoadVector/StoreVector in .NET libraries
- Improve Vector128.ExtractMostSignificantBits for arm64 #76047
- ARM64: Suboptimal codegen for addressing modes #93263
Stretch goals
- Consume SVE2 APIs in .NET libraries
- Investigate instability in TE for Arm64 #77916
- Experiment how much TP impact we will see if enabled pointer authentication for coreclr. Depending on that, decide if it should be enabled for JIT.
csrakowski
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.area-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 SuperPMI
Type
Projects
Status
Done