Skip to content

Conversation

@ylpoonlg
Copy link
Contributor

This PR is the first of a few contributing to #115508.

  • Apply the proposed changes to the codegen and emit functions for the non-embedded masked operations, which only concern cases using unpredicated mov/movprfx.
  • Clean up RMW instructions codegen in hwintrinsiccodegenarm64.cpp.
  • Add a helper emit function to handle SVE mov/movprfx checks.
  • Move the special codegen for AddCarryWideningEven/Odd into the emit function.

cc @dotnet/arm64-contrib @a74nh

* Move MOVPRFX logic from codegen to emit.
@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 Jan 28, 2026
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Jan 28, 2026
@dotnet-policy-service
Copy link
Contributor

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

@ylpoonlg
Copy link
Contributor Author

SPMI asmdiffs:

 G_M39772_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     q16, [fp, #0x20]	// [V00 arg0]
             ldr     w0, [fp, #0x1C]	// [V01 arg1]
-            mov     v0.16b, v16.16b
+            movprfx z0, z16
             insr    z0.s, w0
-						;; size=16 bbWeight=1 PerfScore 8.50
+						;; size=16 bbWeight=1 PerfScore 10.00

ASIMD movs are replaced with SVE movprfxs where possible. Slight increase in PerfScore, but this would allow the uarch to fuse them with the following instruction.
Other failures look unrelated.

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