Skip to content

Document breaking change: Arm64 SVE NonFaulting loads require mask parameter #47907

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 8, 2025

This PR adds comprehensive breaking change documentation for .NET 10, where all Arm64 SVE NonFaulting load APIs now require a mask parameter as the first argument.

Changes Made

New Documentation:

  • Created docs/core/compatibility/core-libraries/10.0/sve-nonfaulting-loads-mask-parameter.md with complete breaking change documentation following the standard template

Navigation Updates:

  • Added entry to docs/core/compatibility/toc.yml under Core .NET libraries section for .NET 10
  • Added table entry to docs/core/compatibility/10.0.md with proper classification as binary/source incompatible

Breaking Change Details

This change affects all 25 NonFaulting load APIs in the System.Runtime.Intrinsics.Arm.Sve namespace. Previously, these methods took only an address parameter:

// .NET 9 behavior
Vector<short> result = Sve.LoadVectorByteNonFaultingZeroExtendToInt16(address);

Now they require a mask parameter as the first argument:

// .NET 10 behavior
Vector<short> result = Sve.LoadVectorByteNonFaultingZeroExtendToInt16(
    Sve.CreateTrueMaskInt16(), address);

The change was necessary because non-faulting loads update the FFR (First Fault Register) based on which vector lanes are loaded, making the standard ConditionalSelect approach invalid for masked operations.

Documentation Standards

  • Follows Microsoft Writing Style Guide
  • Uses proper xref syntax for API cross-references
  • Passes all markdownlint validation
  • Includes clear migration guidance and code examples
  • Documents technical reasoning behind the change

Fixes #47439.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@dotnet-policy-service dotnet-policy-service bot added dotnet-fundamentals/svc okr-quality Content-quality KR: Concerns article defects (bugs), freshness, or build warnings. labels Aug 8, 2025
@Copilot Copilot AI changed the title [WIP] [Breaking change]: Arm64 SVE NonFaulting loads Document breaking change: Arm64 SVE NonFaulting loads require mask parameter Aug 8, 2025
@Copilot Copilot AI requested a review from gewarren August 8, 2025 22:56
Copilot finished work on behalf of gewarren August 8, 2025 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dotnet-fundamentals/svc okr-quality Content-quality KR: Concerns article defects (bugs), freshness, or build warnings.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Breaking change]: Arm64 SVE NonFaulting loads
2 participants