https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80822
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, the OpenMP description of OMP_PLACES=threads is: "Each place corresponds to a single hardware thread on the target machine." which is what GCC implements. Perhaps ICC implements the same, but orders in the list differently? For spread and close the algorithm is pretty well defined on what it should do with a particular OMP_PLACES list.