インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) の組込み命令は、IA-32 およびインテル® 64 アーキテクチャー向けの新しい SIMD 拡張命令のベクトル演算であるインテル® AVX 命令を呼び出すアセンブリー・コード関数です。インテル® AVX 組込み関数は、インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) とインテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2) の倍精度浮動小数点組込み関数に似ています。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
インテル® AVX 組込み関数は、256 ビットのベクトル処理機能を採用しており、32nm プロセス以上で製造された IA-32 およびインテル® 64 アーキテクチャーでサポートされています。インテル® AVX の新しい命令およびその他の 128 ビットの SIMD 拡張命令に直接対応付けられます。
第 1 世代のインテル® AVX は 256 ビット SIMD レジスターのサポート、256 ビットのベクトル浮動小数点命令、128 ビット SIMD 命令の拡張、3 つおよび 4 つのオペランドをサポートする命令構文を提供しています。
インテル® AVX は、前世代の SIMD 命令拡張から包括的な機能向上を遂げています。例えば、次のような機能が向上しています。