Skip to content

Update Intel compiler from icc to icx #152902

Closed

Description

@hpkfft

Feature or enhancement

Proposal:

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).

See also: PR #152825

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Activity

  1. StanFromIreland commented on Jul 2, 2026

    @StanFromIreland
    Member

    removing configuration code for icc and adding it for icx

    Can't we have both for backwards-compatiblity?

  2. hpkfft commented on Jul 2, 2026

    @hpkfft
    ContributorAuthor

    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.

  3. added a commit that references this issue on Jul 19, 2026
  4. added a commit that references this issue on Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-buildtype-featureA feature request or enhancement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions