4 つの 64 ビット浮動小数点値でパックされた __m256d ベクトルがあります。
ベクトルの要素の水平方向の最大値を見つけて、結果を倍精度スカラー値に格納する必要があります。
私の試みはすべて、ベクトル要素のシャッフルを大量に使用することになり、コードはあまりエレガントでも効率的でもありませんでした。また、AVX ドメインだけにとどまることは不可能であることがわかりました。ある時点で、SSE 128 ビット命令を使用して最終的な 64 ビット値を抽出する必要がありました。ただし、この最後のステートメントで私が間違っていることを証明したいと思います。
したがって、理想的なソリューションは次のとおりです
。1) AVX 命令のみを使用します。
2) 命令の数を最小限に抑えます。(私は 3-4 以上の命令を望んでいません)
そうは言っても、上記のガイドラインに準拠していなくても、エレガントで効率的なソリューションは受け入れられます。
助けてくれてありがとう。
-ルイージ