Skip to content

JIT: ARM64 - Generate constructive forms of ExtractVector and Splice #103850

@TIHan

Description

@TIHan

See PRs:

ExtractVector - #103567
Splice - #103567

So the summary docs here only covers the "Destructive" form and not the "Constructive form" as seen in https://docsmirror.github.io/A64/2023-06/ext_z_zi.html

Regarding using a constructive variant. Not sure how to mark explicit op2 and op3 as needing consecutive registers. The current intrinsics with consecutive registers have a tuple in a single op. Here we have two separate args in the API.

I might have to spend some time in figuring out how to make sure that when op2 gets register Zn, force op3 to get Zn+1 given that they are 2 different operands. I think for simplicity, lets add just the destructive version of SPLICE and open an issue to add constructive version post .NET 9.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority:3Work that is nice to havearch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIarm-sveWork related to arm64 SVE/SVE2 supportenhancementProduct code improvement that does NOT require public API changes/additions

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions