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

Updating the JIT to support Narrow, WidenLower, and WidenUpper for Vector512 #84498

Merged
merged 5 commits into from
Apr 9, 2023

Conversation

tannergooding
Copy link
Member

@tannergooding tannergooding commented Apr 7, 2023

This makes progress towards #80814

@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 Apr 7, 2023
@ghost ghost assigned tannergooding Apr 7, 2023
@ghost
Copy link

ghost commented Apr 7, 2023

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

Issue Details

null

Author: tannergooding
Assignees: tannergooding
Labels:

area-CodeGen-coreclr

Milestone: -

@BruceForstall BruceForstall added the avx512 Related to the AVX-512 architecture label Apr 7, 2023
@tannergooding tannergooding marked this pull request as ready for review April 8, 2023 14:02
@tannergooding
Copy link
Member Author

CC. @dotnet/jit-contrib

This makes progress towards #80814. This includes accelerating Vector128/256 with the newer AVX-512 instructions, allowing overall better throughput and pipelining.

For most T this is always a net improvement to codegen size and most often removes a memory access since we no longer require a constant. For narrowing long/ulong to int/uint this represents a 4 byte codegen size regression in the scenario nothing is coming from memory, but results in overall more consistent and faster code due to removal of an instruction, having a shorter dependency chain, and not requiring more expensive cross lane permutations.

@tannergooding
Copy link
Member Author

Resolved merge conflicts

@tannergooding
Copy link
Member Author

SPMI replay failure is unrelated and has failed in a couple other runs: https://dev.azure.com/dnceng-public/public/_build?definitionId=150&_a=summary

CC. @kunalspathak as it looks related to the new VectorTableLookup support. It may be an AltJIT related issue.

@tannergooding
Copy link
Member Author

Logged #84536

@tannergooding tannergooding merged commit efb64cf into dotnet:main Apr 9, 2023
@tannergooding tannergooding deleted the avx512-narrow-widen branch April 9, 2023 04:09
@ghost ghost locked as resolved and limited conversation to collaborators May 9, 2023
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 avx512 Related to the AVX-512 architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants