Skip to content

Reduce the number of hwintrinsic tests by removing no longer interesting scenarios #85008

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

Merged
merged 3 commits into from
Apr 19, 2023

Conversation

tannergooding
Copy link
Member

We have a considerable number of intrinsics and therefore total tests that exist, however since the intrinsics were first introduced there have been many improvements to the general infrastructure such that many of the scenarios we were originally testing are no longer interesting.

In particular, we previously had many different types of loads being tested to validate that containment and other specialized logic around varying addressing modes were correctly handled in the face of the customer Load intrinsics.

Today, however, such loads are normalized to standard GT_IND on import and the tests validating these intrinsics no longer provide significant additional value, particularly when viewed across the total coverage we have in stress runs, in other real world usage in the libraries, etc

As such, this removes those scenarios from the core test templates so we can decrease the total run time for all hwintrinsic tests.

@ghost
Copy link

ghost commented Apr 18, 2023

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

Issue Details

We have a considerable number of intrinsics and therefore total tests that exist, however since the intrinsics were first introduced there have been many improvements to the general infrastructure such that many of the scenarios we were originally testing are no longer interesting.

In particular, we previously had many different types of loads being tested to validate that containment and other specialized logic around varying addressing modes were correctly handled in the face of the customer Load intrinsics.

Today, however, such loads are normalized to standard GT_IND on import and the tests validating these intrinsics no longer provide significant additional value, particularly when viewed across the total coverage we have in stress runs, in other real world usage in the libraries, etc

As such, this removes those scenarios from the core test templates so we can decrease the total run time for all hwintrinsic tests.

Author: tannergooding
Assignees: tannergooding
Labels:

area-System.Runtime.Intrinsics

Milestone: -

@tannergooding
Copy link
Member Author

There are more cases of this exact scenario we could remove in the other templates, but the majority of them are covered by the 11 I've updated here. I'll log an item tracking us cleaning up the same in the other templates.

There are likely also some other now uninteresting scenarios we could further remove, but those are less obvious and may need more data to justify their removal.

@tannergooding tannergooding marked this pull request as ready for review April 18, 2023 21:06
@tannergooding
Copy link
Member Author

CC. @BruceForstall, @dotnet/avx512-contrib, @dotnet/jit-contrib

As per the top post, this is just a reduction in the hwintrinsic tests. With the addition of AVX-512 we were encroaching up on the timeouts again and as described above, these scenarios are no longer significantly interesting to test given changes we've made to the JIT over the past 6-8 months so can be safely removed.

Copy link
Member

@EgorBo EgorBo left a comment

Choose a reason for hiding this comment

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

Makes sense for me

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.

3 participants