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

_mm_permutevar_ps、_mm256_permutevar_ps

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

構文

extern __m256 _mm256_permutevar_ps(__m256 m1, __m256i control);

extern __m128 _mm_permutevar_ps(__m128 m1, __m128i control);

引数

m1

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

control

ソースベクトルの各要素に対応する数の 2 ビットの制御フィールドを持つベクトル。

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

説明

シャッフル制御の対応する要素の下位バイトにある 2 ビットの制御フィールドに応じて、ソースベクトル m1 の単精度浮動小数点値を並べ替えます。結果はデスティネーション・ベクトルに格納されます。

戻り値

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