Conversation
|
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
95ad1b1 to
92469e8
Compare
Fixes dotnet#108233 Follows on from dotnet#123947 *Rename CreateWhile APIs to make it clear they are Unsigned *Add Signed variants *Add Double and Single variants
92469e8 to
4cef667
Compare
|
@dotnet/arm64-contrib @tannergooding |
Code Review: PR #124081 - Sve: Expand CreateWhile APIs📋 Holistic AssessmentMotivation: This PR addresses issue #108233 and follows on from PR #123947. The change:
Approach: The implementation is thorough and consistent across all layers:
Net Positive: ✅ Yes - the new naming convention is more intuitive and aligns with the general .NET naming pattern (type-suffixed intrinsics like ✅ Positive Findings
💡 Observations (Informational)
🔍 Questions for Author
✅ SummaryVerdict: Looks good! The PR is well-structured, consistent across all layers (JIT, managed code, tests, API compat), and the naming convention change improves API discoverability. The addition of signed and floating-point variants completes the API surface for these mask creation operations. The only consideration is whether a deprecation path for the old API names would be beneficial for users upgrading existing code. |
Intentionally removed - we're replacing it with the
|
🤖 Copilot Code Review — PR #124081Holistic AssessmentMotivation: This PR addresses issue #108233 by renaming SVE Approach: The implementation is thorough and consistent:
Summary: ✅ LGTM. The PR is well-structured and the naming convention change improves API discoverability by aligning with existing SVE APIs like Detailed Findings✅ Consistency — Naming aligns with existing SVE APIsThe new naming pattern (
✅ API Design — Complete type coverageAll 10 types are covered for both
Each variant has 4 overloads for the scalar operand types ( ✅ JIT Correctness — Instruction selection is correctThe codegen correctly selects:
The ✅ Breaking Change Handling — Properly documentedThe old APIs are removed (not deprecated), which is appropriate for experimental APIs. The ✅ Test Coverage — Comprehensive updates
SummaryVerdict: ✅ LGTM The PR improves API ergonomics by eliminating the need for explicit casts when working with signed or floating-point vectors. The implementation is consistent across all layers (JIT, managed code, ref assembly, tests). Since SVE is experimental, the breaking change to rename APIs is acceptable. No issues found. |
Fixes #108233
Follows on from #123947
*Rename CreateWhile APIs to make it clear they are Unsigned
*Add Signed variants
*Add Double and Single variants