22日目】この記事はKMCアドベントカレンダー22日目の記事です。adventar.orgこの記事では全国一億三千万のビット演算マニアのために、AVX512命令セットからビット演算に使えそうなものを紹介します。Extensions(AVX)というx86/x64のベクトル演算拡張命令を512ビット幅に拡張したものです。普通のCPUではSkylake-SP/X/Wから使えるようになりました。512bitのデータを一括で処理できます。ビット演算なら512並列ですよ512並列。各種ビット操作・バイト操作命令の追加AVX512の命令セットAVX512は複数の要素から構成されており、プロセッサによってサポートの状況が異なります。以下に書くサブセットとその説明を書きます。AVX512をサポートするプロセッサは必ずこれをサポートする。Hist処理とかがベクトル化できる。32bit/64bit単位での処理。8bit/16bit単位での処理。128bit(XMM)/256bit(YMM)レジスタを操作する。最新のCPU(Skylake-SP/X/W)でもまだ使えない拡張もたくさんあります。