ARM64-SVE: Additions with GetActiveElementCount() should use incp
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
Research direction
Search the ARM64-SVE compiler lowering for Sve.GetActiveElementCount and the generated cntp+add pattern shown in the issue. Compare the result with the requested incp instruction, account for the related predicate-conversion work in #108241, and verify the generated assembly matches the example.
Written by the indexing model from the issue text.
Description
i += Sve.GetActiveElementCount(pred, pred);
becomes:
ptrue p2.b
cmpne p1.b, p2/z, z16.b, #0
ptrue p0.b
cmpne p0.b, p0/z, z16.b, #0
cntp x0, p1, p0.b
add x0, x0, x1
Firstly, the two cntp should use a the same predicate instead of doing two conversions! That is covered already under #108241.
Secondly, the cntp+add should be optimized to a single incp:
ptrue p2.b
cmpne p1.b, p2/z, z16.b, #0
incp x0, p1
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/runtime
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
area-System.Reflection blocking-clean-ci-optional Known Build Error os-mac-os-x untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
area-CodeGen-coreclr untriaged
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
agentic-workflows untriaged
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
area-VM-meta-mono untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
Create parent directories only after the containment check in InstallHelper.TryExtractToDirectory Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/PSResourceGet#2056 ·