0
__m256i
変数から8つの整数を8 x 32ビットのint
の配列に格納したいとします。私はその指示が_mm256_store_epi32
だと思ったが、この指示が存在しないというエラーが出る!8個の整数を格納するavx2命令は何ですか?
__m256i
変数から8つの整数を8 x 32ビットのint
の配列に格納したいとします。私はその指示が_mm256_store_epi32
だと思ったが、この指示が存在しないというエラーが出る!8個の整数を格納するavx2命令は何ですか?
Intel Intrinsics Guideをご覧ください。目的地が整列しているかどうかによって、_mm256_store_si256
または_mm256_storeu_si256
が必要です。
ヒント:あなたは[あなたの以前の同様の質問で、SSEを使ってintベクタを格納することについて]の答えを推測しているかもしれません(http://stackoverflow.com/questions/43018299/what-is-the-method-of-storing-contents -m128i-int-arrayへ) ;-) –
あなたが述べた指示は必要ありません。これは浮動小数点ストレージでは通常です。整数は固定小数点であり、すべての32ビット、16ビット、および8ビットは、 '_mm256_store_si256'と' _mm256_storeu_si256'の同じ命令によって格納することができます – Martin
@FackedDeveloper技術的には、 '' double'と 'float'ベクトルのどちらも、ベクトルをビット単位でコピーするだけです。しかし、異なる組み込み関数を持つことは、型安全性を維持するのに役立ちます(実際には異なるハードウェア命令を使用すると、CPUのパイプライン化に役立ちます)。 – chtz