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

[Mono] Add SIMD intrinsic for Vector64/128 comparisons #65128

Merged

Conversation

simonrozsival
Copy link
Member

@simonrozsival simonrozsival commented Feb 10, 2022

This PR contributes to #64072

  • Equals
  • EqualsAll
  • GreaterThan
  • GreaterThanOrEqual
  • LessThan
  • LessThanOrEqual
  • Operators == and !=

@fanyang-mono fanyang-mono self-requested a review February 17, 2022 17:04
@simonrozsival
Copy link
Member Author

Failing tests are related to #65818

case SN_Equals:
case SN_EqualsAll:
case SN_EqualsAny: {
MonoType *arg_type = get_vector_t_elem_type (fsig->params [0]);
Copy link
Member

Choose a reason for hiding this comment

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

We should start to add comprehensive vector element type checks for each case. (Both input args and the return.) I have a PR up to refactor the code of type checks for this function. (#65486) You could merge this PR like this and fix it with your next PR.

case SN_GreaterThanOrEqual:
case SN_LessThan:
case SN_LessThanOrEqual: {
MonoType *arg_type = get_vector_t_elem_type (fsig->params [0]);
Copy link
Member

Choose a reason for hiding this comment

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

Ditto

@simonrozsival simonrozsival merged commit afc2f11 into dotnet:main Feb 25, 2022
@simonrozsival simonrozsival deleted the vector-intrinsics-eq-gt-geq-lt-leq branch February 25, 2022 09:52
simonrozsival added a commit to simonrozsival/runtime that referenced this pull request Mar 2, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Mar 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants