GH-131521: fix clangcl build on Windows for zlib-ng#131526
Conversation
|
Maybe someone can trigger Windows tailcall CI - it's the only one that really is of interest here, but is only triggered for ceval and the like cpython/.github/workflows/tail-call.yml Lines 4 to 9 in ce79274 |
Sorry, something went wrong.
Just touch one of those files - a comment will do. And undo it before it gets merged (make the comment something like |
Sorry, something went wrong.
so that the resulting binary can be executed on older CPUs, too. Also use AdvancedVectorExtensions512 where necessary.
some of the files tail-call.yml is watching were touched on main, and thus I think it will fire :)
|
I think this is a skip news? |
Sorry, something went wrong.
|
Windows tail-call CI is now green: https://github.com/python/cpython/actions/runs/14006628024/job/39221297660 Having a detailed look, ISTM that the tests are not run, though. This is not related to this PR, the last green build some days ago did not run them either: https://github.com/python/cpython/actions/runs/13954576580/job/39062383429#step:4:326 After building, no more output can be seen. This is interesting, because cpython/.github/workflows/tail-call.yml Lines 82 to 91 in ce79274 clearly ./PCbuild/rt.bat is invoked. Maybe the reason is, because it is not used with backslashes like inThe question then is, why ./PCbuild/build.bat is working ...
@Fidget-Spinner: any idea? |
Sorry, something went wrong.
|
CI uses cmd instead if powershell, could that make a difference? |
Sorry, something went wrong.
|
Maybe? |
Sorry, something went wrong.
It probably requires |
Sorry, something went wrong.
I've created #131678 to continue the discussion there. |
Sorry, something went wrong.
…honGH-131526) Do not enable AdvancedVectorExtensions2 for all *.c files, so that the resulting binary can be executed on older CPUs, too. Also enable AdvancedVectorExtensions512 where necessary, and add the ClangCL flags required to enable vector extensions.
I gave it a try. For me it compiles and
test_zlibis green.I've only thrown in as many
-mas needed.But only for those files that really need them!
I started to set that for all files (the diff would have been much smaller), but
*.cfiles given, and the resulting binary would then not run on all hoststest_zlibfailed withinvalid instructionif I compiled all*.cfiles with the "all the-m. This convinced me even more to be "selective" here: my ancient Haswell i5 4570 only supports up to AVX2 and it makes sense, that it would not happily accept all that instructions (up to AVX512).