Skip to content
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

ARM64-SVE: Use predicate versions of instructions #101970

Open
a74nh opened this issue May 7, 2024 · 5 comments
Open

ARM64-SVE: Use predicate versions of instructions #101970

a74nh opened this issue May 7, 2024 · 5 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI arm-sve Work related to arm64 SVE/SVE2 support Priority:1 Work that is critical for the release, but we could probably ship without
Milestone

Comments

@a74nh
Copy link
Contributor

a74nh commented May 7, 2024

Some instructions provide versions which work on predicates. Eg, the final variant here:

BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B
BIC Zresult.D, Zop1.D, Zop2.D
BIC Presult.B, Pg/Z, Pop1.B, Pop2.B

Currently, when passing in a mask vector, coreclr will convert the mask to a normal vector and use the vector variant of the instruction.
Instead, coreclr should spot it's a mask and use the predicate variant.

If we don't do this, then instead we should remove the predicate variants from the summaries in Sve.cs

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 7, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label May 7, 2024
Copy link
Contributor

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

@kunalspathak kunalspathak added the arm-sve Work related to arm64 SVE/SVE2 support label May 7, 2024
@JulieLeeMSFT JulieLeeMSFT added this to the 9.0.0 milestone May 7, 2024
@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label May 7, 2024
@kunalspathak
Copy link
Member

@a74nh - Is #101598 one of the example of this issue?

@a74nh
Copy link
Contributor Author

a74nh commented Jun 21, 2024

@a74nh - Is #101598 one of the example of this issue?

Yes, it's the same issue.
Not sure if you've a preference on which to keep open.

@a74nh a74nh added the Priority:3 Work that is nice to have label Jul 30, 2024
@a74nh
Copy link
Contributor Author

a74nh commented Jul 30, 2024

priority:3 for RC1 snap : Performance issue, not functionality. Ideally we'd update the API summary if not doing this yet, but it's not the end of the world. I'd rather spend the time on something useful rather than something that will get reverted when this is properly fixed.

@a74nh a74nh removed their assignment Aug 5, 2024
@a74nh a74nh modified the milestones: 9.0.0, 10.0.0 Aug 12, 2024
@kunalspathak kunalspathak added Priority:1 Work that is critical for the release, but we could probably ship without and removed Priority:3 Work that is nice to have labels Oct 8, 2024
@a74nh
Copy link
Contributor Author

a74nh commented Oct 23, 2024

This issue is dependant on #108241 being done first

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 arm-sve Work related to arm64 SVE/SVE2 support Priority:1 Work that is critical for the release, but we could probably ship without
Projects
None yet
Development

No branches or pull requests

3 participants