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

_mm512_extstore_pd/_mm512_mask_extstore_pd

float64 ベクトルを変換してストアします。対応する命令は VMOVAPD です。 この組込み関数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

構文

マスクなし

extern void __cdecl _mm512_extstore_pd(void* mt, __m512d v1, _MM_DOWNCONV_PD_ENUM conv, int hint);

マスク付き

extern void __cdecl _mm512_mask_extstore_pd(void* mt, __mmask8 k1, __m512d v1, _MM_DOWNCONV_PD_ENUM conv, int hint);

引数

v1

ストアする要素を含むソースベクトル

conv

逆方向変換の種類。次のいずれかになります。

  • _MM_DOWNCONV_PD_NONE - 変換なし

k1

ストリームに追加する要素を選択するベクトルマスク

mt

ベクトル要素をストアするメモリー位置

hint

プロセッサーにデータが非テンポラルでないことを示すヒント。0 または 1 を使用できます。それぞれの値の意味は次のとおりです。

  • _MM_HINT_NONE = 0
  • _MM_HINT_NT = 1 (ストアは非テンポラル)

説明

float64 ベクトル v1 の倍精度浮動小数点要素を conv 引数で指定された小さい型に変換し、変換した要素を非テンポラルなヒント hint を使用してメモリー位置 mt にストアします。 メモリーに格納される要素の種類とサイズは、conv 引数に依存します。

マスク付きでは、ベクトルマスク k1 で対応するビットがセットされている要素のみ変換され、メモリーに格納されます。 k1 のビットが 0 にセットされている位置のベクトルの要素は格納されず、対応するメモリー位置は元の値を保持します。

メモリーアドレス mt は、conv 引数により決定されるデータサイズでアライメントされていなければなりません。 現在の実装では、変換ができないため、64 バイトでアライメントする必要があります。

戻り値

なし。