Skip to content

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

Open

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.

Activity

  1. added
    enhancementProduct code improvement that does NOT require public API changes/additions
    on Jun 22, 2024
  2. added this to the Future milestone on Jun 22, 2024
  3. ghost added
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Jun 22, 2024
  4. changed the title [-]JIT: ARM64 - SVE cover destructive forms of ExtractVector and Splice[/-] [+]JIT: ARM64 - Generate constructive forms of ExtractVector and Splice[/+] on Jun 24, 2024
  5. added and removed
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Jun 25, 2024
  6. dotnet-policy-service commented on Jun 25, 2024

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics
    See info in area-owners.md if you want to be subscribed.

  7. added
    Priority:1Work that is critical for the release, but we could probably ship without
    Priority:3Work that is nice to have
    and removed
    Priority:1Work that is critical for the release, but we could probably ship without
    on Oct 8, 2024
  8. a74nh commented on Jul 17, 2025

    @a74nh
    Contributor

    Similar to the CreateBreak APIs, we could explicitly support this via an API call. If the result of #117722 is positive, then we should raise an API issue for this too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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