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

Clean up ARM64 popcount #4695

Merged
merged 5 commits into from
Jun 18, 2024
Merged

Clean up ARM64 popcount #4695

merged 5 commits into from
Jun 18, 2024

Conversation

AlexGuteniev
Copy link
Contributor

@AlexGuteniev AlexGuteniev commented May 25, 2024

It is both way simpler (don't need to use another intrinsics set) and better for codegen (as the previous version is only for 64-bits and does not take advantage of smaller parameter size).

I have not tested on actual ARM64 and ARM64EC.

Resolves #4683
Resolves #2129
Resolves llvm/llvm-project#50830

@AlexGuteniev AlexGuteniev requested a review from a team as a code owner May 25, 2024 18:27
@AlexGuteniev
Copy link
Contributor Author

Honestly, what I'm doing for ARM64EC here is uneducated guess.
This needs to be checked by an ARM64EC expert.

@StephanTLavavej StephanTLavavej added performance Must go faster ARM64 Related to the ARM64 architecture labels May 28, 2024
@StephanTLavavej StephanTLavavej self-assigned this May 28, 2024
stl/inc/__msvc_bit_utils.hpp Outdated Show resolved Hide resolved
stl/inc/__msvc_bit_utils.hpp Outdated Show resolved Hide resolved
stl/inc/__msvc_bit_utils.hpp Show resolved Hide resolved
stl/inc/__msvc_bit_utils.hpp Show resolved Hide resolved
stl/inc/__msvc_bit_utils.hpp Outdated Show resolved Hide resolved
@StephanTLavavej StephanTLavavej removed their assignment Jun 13, 2024
@StephanTLavavej StephanTLavavej self-assigned this Jun 14, 2024
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 9fd47b5 into microsoft:main Jun 18, 2024
39 checks passed
@StephanTLavavej
Copy link
Member

Thanks for greatly simplifying this code! 😻 ✨ 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARM64 Related to the ARM64 architecture performance Must go faster
Projects
Archived in project
2 participants