インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_mm256_permute_ps、_mm_permute_ps

256 ビットまたは 128 ビットの float32 値を 256 ビットまたは 128 ビットのデスティネーション・ベクトルに並べ替えます。対応するインテル® AVX 命令は VPERMILPS です。

構文

extern __m256 _mm256_permute_ps(__m256 m1, int control);

extern __m128 _mm_permute_ps(__m128 m1, int control);

引数

m1

256 ビットまたは 128 ビットの float32 ソースベクトル

control

8 ビットの即値として指定された整数

  • 256 ビットの m1 ベクトルでは、即値の下位 8 ビットに 2 ビットの制御フィールドが 4 つ含まれています。
  • 128 ビットの m1 ベクトルでは、即値の下位 4 ビットに 2 ビットの制御フィールドが 2 つ含まれています。

説明

_mm256_permute_ps 組込み関数は、control の 2 ビットの制御フィールドに応じて、256 ビットのソースベクトル m1 の単精度浮動小数点要素 (float32 要素) を並べ替えて、結果をデスティネーション・ベクトルに格納します。

_mm_permute_ps 組込み関数は、control の 2 ビットの制御フィールドに応じて、128 ビットのソースベクトル m1 の単精度浮動小数点要素 (float32 要素) を並べ替えて、結果をデスティネーション・ベクトルに格納します。

戻り値

256 ビットまたは 128 ビットの値が並べ替えられた float32 ベクトル。