Uh oh!
There was an error while loading. Please reload this page.
gh-125022: add support for simple SIMD features detection - #125011
gh-125022: add support for simple SIMD features detection#125011picnixz wants to merge 91 commits into
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
b4de356 to
c33fb91Comparec33fb91 to
3c0b4f1Comparepicnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 820d140 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit df85ce5 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit c6cf903 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 498518f 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 3d56d93 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
!buildbot AMD64 FreeBSD14 PR |
bedevere-bot
commented
Jul 14, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 08daa8a 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
picnixz
commented
Jul 14, 2025
I suspect something actually was wrong on FreeBSD/AMD side as others had similar issues. So I just removed XGETBV support. We don't really need it and I think I'll also get rid of other fields that we don't need to use now (but I'll keep their macros around). |
bedevere-bot
commented
Jul 15, 2025
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 79eb72d 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F125011%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
This PR is stale because it has been open for 30 days with no activity. |
In #124951, there has been some initial discussion on improving the performances of base64 and possibly
{bytearray,bytes,str}.translateusing SIMD instructions.More generally, if we want to use specific SIMD instructions, it'd be good if we at least know whether we can use them or not. This PR is a PoC, experimental and (hence the skip news).
Note that the detection is essentially based on what was done in the blake2 module (though the flags being detected are different in this case but we can always add all those that are needed). To prepare for a harder detection of AVX instructions support, I added all the flags that are known to CPUID and possibly relevant. Note that more work needs to be done for a production use, especially in autoconf I think.
Note
The detection of a wider large family of CPUs (here we just assume Intel for simplicity and because we don't want to be overcomplicated for now) is still an ongoing work.
cc @gpshead