You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The configure script for CPython has code for the Intel classic compiler (icc for C and icpc for C++). The last version of the classic compiler was 2021.10 and it stopped shipping in 2023. Intel has moved its compiler to one based on clang. It's named the Intel(R) oneAPI DPC++/C++ Compiler and is invoked as icx for C and as icpx for C++.
As documented in PEP11, these compilers are unsupported by the core team. I would like to suggest updating icc to icx in CPython's configure script (i.e., removing configuration code for icc and adding it for icx).
Yes, and I can easily do that. My thought was to take the opportunity to do a little cleanup. IMHO, nobody wants to compile CPython with a vendor's compiler that's past its EOL. To my knowledge, the classic compiler is no longer available on Intel's web site, so I have no way of testing it. The reason for compiling Python 3.16 (or 3.15, if there's interest in backporting the PR) with Intel's compiler would be to gain performance from Intel's optimization technology. (That may be especially true as x86_64 hardware moves to supporting APX, which doubles the number of general purpose registers from 16 to 32.) If the goal is performance, one would not choose to use the classic compiler, which does not optimize for recent hardware and does not support upcoming ISA extensions.
That's just my opinion. I'm happy to do as the core build team thinks best.
Activity
StanFromIreland commentedon Jul 2, 2026
Can't we have both for backwards-compatiblity?
hpkfft commentedon Jul 2, 2026
Yes, and I can easily do that. My thought was to take the opportunity to do a little cleanup. IMHO, nobody wants to compile CPython with a vendor's compiler that's past its EOL. To my knowledge, the classic compiler is no longer available on Intel's web site, so I have no way of testing it. The reason for compiling Python 3.16 (or 3.15, if there's interest in backporting the PR) with Intel's compiler would be to gain performance from Intel's optimization technology. (That may be especially true as
x86_64hardware moves to supporting APX, which doubles the number of general purpose registers from 16 to 32.) If the goal is performance, one would not choose to use the classic compiler, which does not optimize for recent hardware and does not support upcoming ISA extensions.That's just my opinion. I'm happy to do as the core build team thinks best.
pythongh-152902: Add Intel `icx` compiler to `configure.ac`
gh-152902: Add Intel `icx` compiler to `configure.ac` (GH-152825)