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

Helper files for Arm64 SVE design #99349

Closed
wants to merge 3 commits into from
Closed

Helper files for Arm64 SVE design #99349

wants to merge 3 commits into from

Conversation

a74nh
Copy link
Contributor

@a74nh a74nh commented Mar 6, 2024

This PR is not intended for merge. It is a collection of resources for use during the SVE development. These files will be updated as the design changes.

Contents:

out_api/
All the SVE API designs under review on github. Each file is a separate
github issue, and contains all three sections used in review:

  • API in summary T format
  • full API
  • rejected methods

out_cs_api/
The full API files that will be put in
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm
Also includes separate files for each section that needs adding to
src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs

out_helper_api/
The full API with extra information in the summary for development help

  • Instructions used by each C ACLE method (as per ACLE spec)
  • Entries from codegenarm64test for each instruction mentioned
  • If the API has an embedded mask required to mask the result

out_hwintrinsiclistarm64sve.h
The entire file for src/coreclr/jit/hwintrinsiclistarm64sve.h
The category and flags fields will need manually updating.
Entires with multiple instructions per type will need to pick one and then
use a mnually written sepcial encoding.

out_GenerateHWIntrinsicTests_Arm.cs
All the entries for the SVE table in
src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs
This includes all argument parameters, but is missing fields for validating
output or any other specialised handling.
There is one template per API entry - developers are encouraged to use
more generic template names.

out_markdownlist.md
A checklist of all API methods

post_review/
A copy of each API that was reviewed and approved on github, plus an
alpahabetically sorted copy. Ideally there should be no difference between
the sorted files and the versions in out_api/, however there are known issues.

This PR is not intended for merge. It is a collection of resources for
use during the SVE development. These files will be updated as the
design changes.

Contents:

out_api/
  All the SVE API designs under review on github. Each file is a separate
  github issue, and contains all three sections used in review:
  * API in summary T format
  * full API
  * rejected methods

out_cs_api/
  The full API files that will be put in
  src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm
  Also includes separate files for each section that needs adding to
  src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs

out_helper_api/
  The full API with extra information in the summary for development help
  * Instructions used by each C ACLE method (as per ACLE spec)
  * Entries from codegenarm64test for each instruction mentioned
  * If the API has an embedded mask required to mask the result

out_hwintrinsiclistarm64sve.h
  The entire file for src/coreclr/jit/hwintrinsiclistarm64sve.h
  The category and flags fields will need manually updating.
  Entires with multiple instructions per type will need to pick one and then
  use a mnually written sepcial encoding.

out_GenerateHWIntrinsicTests_Arm.cs
  All the entries for the SVE table in
  src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs
  This includes all argument parameters, but is missing fields for validating
  output or any other specialised handling.
  There is one template per API entry - developers are encouraged to use
  more generic template names.

out_markdownlist.md
  A checklist of all API methods

post_review/
  A copy of each API that was reviewed and approved on github, plus an
  alpahabetically sorted copy. Ideally there should be no difference between
  the sorted files and the versions in out_api/, however there are known issues.
@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Mar 6, 2024
@a74nh
Copy link
Contributor Author

a74nh commented Mar 6, 2024

@dotnet/jit-contrib @dotnet/arm64-contrib @kunalspathak @tannergooding - there's a lot of content here, but this should aid in the next step of development.

@kunalspathak
Copy link
Member

Thanks for having this @a74nh . Do you think we can have these files in a separate repo under https://github.com/a74nh? That way, it will be easier for others to clone it and see the progress rather than as a PR. I should have done same thing for the backend encoding related files.

@a74nh
Copy link
Contributor Author

a74nh commented Mar 6, 2024

Thanks for having this @a74nh . Do you think we can have these files in a separate repo under https://github.com/a74nh? That way, it will be easier for others to clone it and see the progress rather than as a PR. I should have done same thing for the backend encoding related files.

Due to the way it's pushed it's available here:
https://github.com/a74nh/runtime/tree/api_github/sve_api
That's easy to checkout too.

@BruceForstall BruceForstall added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Mar 6, 2024
@ghost
Copy link

ghost commented Mar 6, 2024

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

Issue Details

This PR is not intended for merge. It is a collection of resources for use during the SVE development. These files will be updated as the design changes.

Contents:

out_api/
All the SVE API designs under review on github. Each file is a separate
github issue, and contains all three sections used in review:

  • API in summary T format
  • full API
  • rejected methods

out_cs_api/
The full API files that will be put in
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm
Also includes separate files for each section that needs adding to
src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs

out_helper_api/
The full API with extra information in the summary for development help

  • Instructions used by each C ACLE method (as per ACLE spec)
  • Entries from codegenarm64test for each instruction mentioned
  • If the API has an embedded mask required to mask the result

out_hwintrinsiclistarm64sve.h
The entire file for src/coreclr/jit/hwintrinsiclistarm64sve.h
The category and flags fields will need manually updating.
Entires with multiple instructions per type will need to pick one and then
use a mnually written sepcial encoding.

out_GenerateHWIntrinsicTests_Arm.cs
All the entries for the SVE table in
src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs
This includes all argument parameters, but is missing fields for validating
output or any other specialised handling.
There is one template per API entry - developers are encouraged to use
more generic template names.

out_markdownlist.md
A checklist of all API methods

post_review/
A copy of each API that was reviewed and approved on github, plus an
alpahabetically sorted copy. Ideally there should be no difference between
the sorted files and the versions in out_api/, however there are known issues.

Author: a74nh
Assignees: -
Labels:

NO-MERGE, area-CodeGen-coreclr

Milestone: -

@kunalspathak
Copy link
Member

https://github.com/a74nh/runtime/tree/api_github/sve_api
That's easy to checkout too.

@dotnet/arm64-contrib

@kunalspathak
Copy link
Member

@a74nh - this PR can be closed then?

@a74nh
Copy link
Contributor Author

a74nh commented Mar 8, 2024

@a74nh - this PR can be closed then?

Yes, that should be fine if we don't want an open PR sat around.

@a74nh a74nh closed this Mar 8, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants