インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
float32 ベクトルをロード/ブロードキャスト/変換します。対応する命令は VMOVAPS です。 この組込み関数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。
マスクなし extern __m512 __cdecl _mm512_extload_ps(void const* mt, _MM_UPCONV_PS_ENUM conv, _MM_BROADCAST32_ENUM bc, int hint); |
マスク付き extern __m512 __cdecl _mm512_mask_extload_ps(__m512 v1_old, __mmask16 k1, void const* mt, _MM_UPCONV_PS_ENUM conv, _MM_BROADCAST32_ENUM bc, int hint); |
v1_old |
デスティネーション・ベクトルの古い値を保持するソースベクトル。マスクビットが 0 にセットされている場合は、v1_old の対応する要素が結果ベクトルにコピーされます。 |
k1 |
書き込みマスク。k1 マスクの対応するビットが '1' にセットされているソースベクトルの要素のみ計算され、結果に格納されます。k1 の対応するビットが 0 にセットされている結果ベクトルの要素は、ベクトル v1_old の要素からコピーされます。 |
conv |
順方向変換の種類。次のいずれかになります。
|
bc |
ブロードキャストの種類。次のいずれかになります。
|
mt |
ロード元のメモリーアドレス |
hint |
プロセッサーにデータが非テンポラルでないことを示すヒント。0 または 1 を使用できます。それぞれの値の意味は次のとおりです。
|
bc 引数に応じて、メモリーアドレス mt で 1 つの (bc=_MM_BROADCAST_1X16)、4 つの (bc=_MM_BROADCAST_4X16)、または 16 の (bc=_MM_BROADCAST32_NONE) 要素をロードし、float32 値に変換して、結果を float32 ベクトルで返します。メモリーから読み取る要素の種類とサイズは、conv 引数に依存します。
マスク付きには 2 つの追加の引数 (v1_old と k1) があります。ベクトルマスク k1 の対応するビットが 1 にセットされている要素のみ計算されます。k1 の対応するビットがクリアされている結果ベクトルの要素の値は、v1_old ベクトルから取得されます。
ロード/ブロードキャスト/変換操作の結果。