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

[AVX10.2]Optimize codegen for x86 using the new saturating conversion instructions when possible. #109080

Open
DeepakRajendrakumaran opened this issue Oct 21, 2024 · 1 comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI avx10 Related to the AVX10 architecture
Milestone

Comments

@DeepakRajendrakumaran
Copy link
Contributor

AVX10.2 introduces a set of saturating conversion instructions. These will allow us to further optimize the various floating point-> integer conversions. Specifically cases where we are currently handling edge cases with additional instructions. With these new instructions, we can accomplish this with just 1 instruction

Eg. double -> ulong

This currently generates the following 2 instructions

vfixupimmsd 
vcvttsd2usi

The new Avx10.2 instructions are the following
Image

@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 Oct 21, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Oct 21, 2024
@DeepakRajendrakumaran DeepakRajendrakumaran changed the title [AVX10.2]Optimize codegen for x86 using saturating conversions when possible [AVX10.2]Optimize codegen for x86 using the new saturating conversion instructions when possible. Oct 21, 2024
Copy link
Contributor

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

@BruceForstall BruceForstall added the avx10 Related to the AVX10 architecture label Oct 21, 2024
@BruceForstall BruceForstall added this to the 10.0.0 milestone Oct 21, 2024
@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI avx10 Related to the AVX10 architecture
Projects
None yet
Development

No branches or pull requests

2 participants