Skip to content

arm64: Refactor mov/movprfx for embedded masked operations#126398

Open
ylpoonlg wants to merge 1 commit intodotnet:mainfrom
ylpoonlg:github-movprfx_refactor_2
Open

arm64: Refactor mov/movprfx for embedded masked operations#126398
ylpoonlg wants to merge 1 commit intodotnet:mainfrom
ylpoonlg:github-movprfx_refactor_2

Conversation

@ylpoonlg
Copy link
Copy Markdown
Contributor

@ylpoonlg ylpoonlg commented Apr 1, 2026

This PR is the second part of #115508, following #123717.

The mov/movprfx logic for embedded masked operations are moved from codegen into the emit functions in a similar way to #123717. The main difference is that we can use predicated movprfx (zeroing or merging) for embedded masked operations, depending on the false argument of the wrapped conditional select. This information is passed into the emitInsSve_Mov helper using a new option mopt, which defaults to INS_SVE_MOV_OPTS_UNPRED.

@dotnet/arm64-contrib @a74nh @dhartglassMSFT

* Add an option for SVE mov/movprfx to differentiate between unpredicated,
  zeroing and merging operation for the emitInsSve_Mov helper function.

* Clean up codegen for embedded masked operation.

* Fix SIMD&FP scalar register name in SVE emit display.
@github-actions github-actions bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Apr 1, 2026
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Apr 1, 2026
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

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

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant