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

Rename StoreVectorMxNAndZip to StoreVectorAndZip #103638

Merged

Conversation

SwapnilGaikwad
Copy link
Contributor

Partially (item 2) fixes: #102340

Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

1 similar comment
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Jun 18, 2024
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad
Copy link
Contributor Author

Hi @kunalspathak, the coreclr part of this PR is tested but the mono bit is not. There are two commits separating the coreclr and mono changes that would make it easier to undo/update mono changes if needed.

@SwapnilGaikwad SwapnilGaikwad marked this pull request as ready for review June 18, 2024 14:39
Copy link
Member

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added comment to handle it similar to NI_AdvSimd_VectorTableLookup

src/coreclr/jit/hwintrinsiclistarm64.h Outdated Show resolved Hide resolved
src/coreclr/jit/hwintrinsiclistarm64.h Outdated Show resolved Hide resolved
src/coreclr/jit/hwintrinsicarm64.cpp Outdated Show resolved Hide resolved
@kunalspathak
Copy link
Member

@fanyang-mono - which CI pipelines we should run to make sure that the code in the PR is getting tested for mono?

@SwapnilGaikwad
Copy link
Contributor Author

Added comment to handle it similar to NI_AdvSimd_VectorTableLookup

The StoreVectorAndZip is now cleaned-up and matches with VectorTableLookup. On the similar note but unrelated to StoreAndZip - we also got StoreSelectedScalarNxM that can be cleaned-up similarly.
Would you like me to throw those changes in this PR or a separate one?

Copy link
Member

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks much simpler. Added few last comments.

src/coreclr/jit/hwintrinsiccodegenarm64.cpp Show resolved Hide resolved
unreached();
}

GetEmitter()->emitIns_R_R(ins, emitSize, op2Reg, op1Reg, opt);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you make sure emitSize == EA_8BYTE or emitSize == 16BYTE or do we verify that already by this point?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, it's asserted in genGetSimdInsOpt() one line 322 above.
We aren't asserting explicitly in other cases, is there a chance getting other values by any chance?
For HW_Category_MemoryStore, the emitSize seemed to be pulled from the table in hwintrinsiclistarm64.h.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, that's fine.

@kunalspathak
Copy link
Member

Would you like me to throw those changes in this PR or a separate one?

I am ok with either way. Really depends on if you have cycles to do that change here, or later.

Copy link
Member

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM coreclr side

@fanyang-mono
Copy link
Member

Test AdvSimd_r.dll passed locally

Supported ISAs:
  AdvSimd:   True
  Aes:       True
  ArmBase:   True
  Crc32:     True
  Dp:        False
  Rdm:       False
  Sha1:      True
  Sha256:    True
  Sve:       False

...

Expected: 100
Actual: 100
END EXECUTION - PASSED

Copy link
Member

@fanyang-mono fanyang-mono left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mono change looks good to me.

@kunalspathak
Copy link
Member

/ba-g failures are known or mono amd64, unrelated

@kunalspathak kunalspathak merged commit 5f8a2ee into dotnet:main Jun 19, 2024
151 of 177 checks passed
@SwapnilGaikwad SwapnilGaikwad deleted the github-rename-storeVectorNxMAndZip branch June 19, 2024 07:57
@github-actions github-actions bot locked and limited conversation to collaborators Jul 19, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Runtime.Intrinsics community-contribution Indicates that the PR has been added by a community member new-api-needs-documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Arm64: Rename AdvSimd/Sve Load/Store vector API names
3 participants