Intel は次世代プロセッサ、Sapphire Rapids と Alder Lake をサポートするパッチを GCC に投稿した。まずは拡張命令の対応となっている。
Initial Sapphire Rapids and Alder Lake support from ISA r40
Initial Sapphire Rapids and Alder Lake support from ISA r40 · gcc-mirror/gcc@ba9c87d
パッチを投稿した Cui, Lili 氏は、Sapphire Rapids の拡張命令の対応範囲を、Cooper Lake の対応範囲に MOVDIRI /MOVDIR64B /AVX512VP2INTERSECT /ENQCMD /CLDEMOTE /PTWRITE /WAITPKG /SERIALIZE /TSXLDTRK
に追加したもの、
Alder Lake は Skylake の対応範囲に CLDEMOTE /PTWRITE /WAITPK /SERIALIZE
を追加したものと説明している。
現在はページが消されているが
以前判明した AVX2 VNNI
、HFNI
には触れられていないが、 Intel®ArchitectureInstruction Set Extensions and Future FeaturesProgramming Reference にもまだ出てきていないためだろう。
Intel Alder Lake、Sapphire Rapids にて追加される2つの命令 ――AVX2 VNNI /HFNI | Coelacanth’s Dream
そしてやはり Alder Lake は AVX512 には対応しないような動きを見せている。
また今回は Cooper Lake 、Skylake の対応範囲に加える形にあるためか、 Cannon Lake 、Goldmont から対応した SHA
命令に、 Sapphire Rapids と Alder Lake は対応していない。
わざわざ外すというのも考えにくいため、今後のパッチで追加されるものと思われる、たぶん。
そして、Alder Lake はハイブリッドプロセッサと言われることが多いが、今回のパッチで Alder Lake は高性能コア (Core) 側とされている。
また、Lakefield もハイブリッドプロセッサであり、拡張命令の対応範囲は Ice Lake とも Tremont とも異なるが、コンパイラに -march=lakefield
といったものはこれまで追加されていない。
そうなると、Alder Lake が先行して追加されているということにはズレを感じる。