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

Ensure that SetContainsAVX passes in the regSize #98283

Merged
merged 1 commit into from
Feb 12, 2024

Conversation

tannergooding
Copy link
Member

No description provided.

@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 Feb 11, 2024
@ghost ghost assigned tannergooding Feb 11, 2024
@ghost
Copy link

ghost commented Feb 11, 2024

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

Issue Details

null

Author: tannergooding
Assignees: tannergooding
Labels:

area-CodeGen-coreclr

Milestone: -

@tannergooding
Copy link
Member Author

The Size regressions in the diff are expected, this is fixing a bug where we weren't marking the method as using 256-bit or more AVX and so weren't emitting vzeroupper as we should've been.

The TP improvements are also expected and comes from simplifying the check now that we are always passing in a valid SIMD size.

@tannergooding
Copy link
Member Author

The size regressions will be mitigated by #98261, which changes where we emit vzeroupper to only the places actually needed.

@tannergooding tannergooding merged commit 5a9b431 into dotnet:main Feb 12, 2024
125 of 129 checks passed
@tannergooding tannergooding deleted the fix-containsavx branch February 12, 2024 00:30
@ryujit-bot
Copy link

Diff results for #98283

Assembly diffs

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 1,485,481 contexts (265,979 MinOpts, 1,219,502 FullOpts).

Overall (+8,449 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,144,801 +81
benchmarks.run_pgo.windows.x86.checked.mch 31,085,809 +84
benchmarks.run_tiered.windows.x86.checked.mch 9,486,840 +111
coreclr_tests.run.windows.x86.checked.mch 207,097,036 +5,847
libraries.pmi.windows.x86.checked.mch 49,621,573 +437
libraries_tests.run.windows.x86.Release.mch 8,693,610 +21
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 104,060,265 +1,556
realworld.run.windows.x86.checked.mch 11,356,141 +312
MinOpts (+4,824 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run_pgo.windows.x86.checked.mch 3,953,158 +63
benchmarks.run_tiered.windows.x86.checked.mch 4,279,271 +87
coreclr_tests.run.windows.x86.checked.mch 117,689,248 +4,662
libraries_tests.run.windows.x86.Release.mch 1,591,376 +9
realworld.run.windows.x86.checked.mch 295,714 +3
FullOpts (+3,625 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,144,520 +81
benchmarks.run_pgo.windows.x86.checked.mch 27,132,651 +21
benchmarks.run_tiered.windows.x86.checked.mch 5,207,569 +24
coreclr_tests.run.windows.x86.checked.mch 89,407,788 +1,185
libraries.pmi.windows.x86.checked.mch 49,526,340 +437
libraries_tests.run.windows.x86.Release.mch 7,102,234 +12
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,385,216 +1,556
realworld.run.windows.x86.checked.mch 11,060,427 +309

Details here


Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 1,730,987 contexts (430,855 MinOpts, 1,300,132 FullOpts).

Overall (+28,090 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 12,566,939 +583
benchmarks.run_pgo.linux.x64.checked.mch 69,884,769 +750
benchmarks.run_tiered.linux.x64.checked.mch 23,155,569 +732
coreclr_tests.run.linux.x64.checked.mch 246,257,350 +7,987
libraries.pmi.linux.x64.checked.mch 60,770,336 +6,011
libraries_tests.run.linux.x64.Release.mch 32,206,880 +744
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 140,910,098 +9,593
realworld.run.linux.x64.checked.mch 13,944,839 +1,651
smoke_tests.nativeaot.linux.x64.checked.mch 4,232,760 +39
MinOpts (+7,902 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run_pgo.linux.x64.checked.mch 27,321,464 +735
benchmarks.run_tiered.linux.x64.checked.mch 18,766,377 +642
coreclr_tests.run.linux.x64.checked.mch 139,074,061 +5,823
libraries_tests.run.linux.x64.Release.mch 20,750,162 +684
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 10,584,152 +15
realworld.run.linux.x64.checked.mch 388,154 +3
FullOpts (+20,188 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 12,367,641 +583
benchmarks.run_pgo.linux.x64.checked.mch 42,563,305 +15
benchmarks.run_tiered.linux.x64.checked.mch 4,389,192 +90
coreclr_tests.run.linux.x64.checked.mch 107,183,289 +2,164
libraries.pmi.linux.x64.checked.mch 60,657,479 +6,011
libraries_tests.run.linux.x64.Release.mch 11,456,718 +60
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 130,325,946 +9,578
realworld.run.linux.x64.checked.mch 13,556,685 +1,648
smoke_tests.nativeaot.linux.x64.checked.mch 4,231,811 +39

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 1,837,795 contexts (509,217 MinOpts, 1,328,578 FullOpts).

MISSED contexts: 133 (0.01%)

Overall (+44,834 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 46,755,443 +5,404
benchmarks.run.windows.x64.checked.mch 8,750,905 +1,115
benchmarks.run_pgo.windows.x64.checked.mch 26,046,003 +811
benchmarks.run_tiered.windows.x64.checked.mch 12,792,047 +1,559
coreclr_tests.run.windows.x64.checked.mch 286,351,716 +11,292
libraries.pmi.windows.x64.checked.mch 62,016,175 +8,852
libraries_tests.run.windows.x64.Release.mch 35,352,319 +1,630
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 136,912,730 +11,854
realworld.run.windows.x64.checked.mch 14,212,420 +2,287
smoke_tests.nativeaot.windows.x64.checked.mch 5,089,721 +30
MinOpts (+13,716 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 18,488,740 +2,075
benchmarks.run_pgo.windows.x64.checked.mch 11,755,645 +721
benchmarks.run_tiered.windows.x64.checked.mch 9,130,844 +1,175
coreclr_tests.run.windows.x64.checked.mch 179,096,177 +8,172
libraries_tests.run.windows.x64.Release.mch 26,014,572 +1,525
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 10,511,264 +45
realworld.run.windows.x64.checked.mch 386,609 +3
FullOpts (+31,118 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 28,266,703 +3,329
benchmarks.run.windows.x64.checked.mch 8,750,542 +1,115
benchmarks.run_pgo.windows.x64.checked.mch 14,290,358 +90
benchmarks.run_tiered.windows.x64.checked.mch 3,661,203 +384
coreclr_tests.run.windows.x64.checked.mch 107,255,539 +3,120
libraries.pmi.windows.x64.checked.mch 61,902,654 +8,852
libraries_tests.run.windows.x64.Release.mch 9,337,747 +105
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,401,466 +11,809
realworld.run.windows.x64.checked.mch 13,825,811 +2,284
smoke_tests.nativeaot.windows.x64.checked.mch 5,088,774 +30

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch -0.01%

Throughput diffs for linux/x64 ran on windows/x64

Overall (-0.01% to -0.00%)
Collection PDIFF
benchmarks.run_tiered.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.01%
MinOpts (-0.02% to +0.00%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch -0.01%
benchmarks.run_pgo.linux.x64.checked.mch -0.01%
benchmarks.run_tiered.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.02%
realworld.run.linux.x64.checked.mch -0.01%
FullOpts (-0.01% to -0.00%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.01%

Throughput diffs for windows/x64 ran on windows/x64

Overall (-0.01% to -0.00%)
Collection PDIFF
benchmarks.run_pgo.windows.x64.checked.mch -0.01%
benchmarks.run_tiered.windows.x64.checked.mch -0.01%
coreclr_tests.run.windows.x64.checked.mch -0.01%
realworld.run.windows.x64.checked.mch -0.01%
MinOpts (-0.02% to 0.00%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch -0.02%
benchmarks.run_pgo.windows.x64.checked.mch -0.01%
benchmarks.run_tiered.windows.x64.checked.mch -0.01%
coreclr_tests.run.windows.x64.checked.mch -0.02%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch -0.01%
realworld.run.windows.x64.checked.mch -0.01%
FullOpts (-0.01% to -0.00%)
Collection PDIFF
benchmarks.run_pgo.windows.x64.checked.mch -0.01%
coreclr_tests.run.windows.x64.checked.mch -0.01%
realworld.run.windows.x64.checked.mch -0.01%

Details here


Throughput diffs for windows/x86 ran on windows/x86

Overall (-0.02% to +0.00%)
Collection PDIFF
coreclr_tests.run.windows.x86.checked.mch -0.02%
realworld.run.windows.x86.checked.mch -0.01%
MinOpts (-0.05% to 0.00%)
Collection PDIFF
benchmarks.run_pgo.windows.x86.checked.mch -0.01%
benchmarks.run_tiered.windows.x86.checked.mch -0.01%
coreclr_tests.run.windows.x86.checked.mch -0.05%
realworld.run.windows.x86.checked.mch -0.02%
FullOpts (-0.01% to +0.00%)
Collection PDIFF
coreclr_tests.run.windows.x86.checked.mch -0.01%
realworld.run.windows.x86.checked.mch -0.01%

Details here


Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.01% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch -0.01%
MinOpts (-0.02% to +0.01%)
Collection PDIFF
libraries.pmi.linux.x64.checked.mch +0.01%
smoke_tests.nativeaot.linux.x64.checked.mch +0.01%
benchmarks.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.02%
FullOpts (-0.01% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch -0.01%

Details here


@github-actions github-actions bot locked and limited conversation to collaborators Mar 14, 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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants