x86: Added some bmi1 and bmi2 intrinsics - #1347
Conversation
|
Thank you @ethomag! Let me know if you want help with the tests. They are a bit odd since you write them one way to generate the test matrices, and then you paste the values in. |
|
If I manage to write a test, can I run the test locally just for my local architecture somehow, before pushing ? |
Yes, please iterate on the tests locally so that they at least pass for you. If you need assistance we can schedule a video call and do some pair programming. |
|
Thank you @ethomag ! I will do some cleanups and merge 🙏 |
|
Thank you, Michael for your support and corrections. I would not have figured out the feature test macros by myself. And what a great testing framework you have set up, really easy to get going (once you read the tutorial :)). As far as I know for now, I don't have any more updates in the pipe. Have a great weekend! |
|
One more question, when I do |
:-D The SIMDe creator and major author is @nemequ ; he set up the testing framework
Thank you and you as well!
Yep, ninja/meson is just for developers. Since SIMDe is a header-only library, just copy the |
|
Oops, maybe I closed it prematurely ? |
Hi @mr-c, I tried to follow the already established structure , using x86/clmul.h as a template. There are three added x86 intrinsics present in the "bmi1" and "bmi2" feature sets of the ISA (as reported by lscpu on Linux). I bundled them into a new file (x86/bmi.h) and added SIMDE-prefixed feature test macros. Just like x86/clmul.h this new file is not included by default in any other file - so to use these new intrinsics one needs to explicitly include bmi.h. I have not added tests since I have not wrapped my head around how testing works, yet. But, I plan to do so in the future.