-
-
Notifications
You must be signed in to change notification settings - Fork 29
check for and enable the bmi1 and bmi2 target feature
#362
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
Conversation
Codecov ReportAttention: Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 3 files with indirect coverage changes 🚀 New features to boost your workflow:
|
| return std::is_x86_feature_detected!("pclmulqdq") | ||
| && std::is_x86_feature_detected!("sse2") | ||
| && std::is_x86_feature_detected!("sse4.1"); | ||
| return std::is_x86_feature_detected!("pclmulqdq") && std::is_x86_feature_detected!("sse4.1"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bmi2 target featurebmi1 and bmi2 target feature
|
How much does disabling bmi2 hurt? It contains the pdep and pext instructions which are slow on Zen 2 and lower. |
|
Pretty significant, at least on my CPU We already don't go you of our way to support older hardware, instead preferring the best performance on modern hardware, so I'm in favor of enabling it. |
closes #361
Locally this is very effective, CI shows a lot more noise. But it does make sense that this would be faster right?