Core2Duoプロセッサー(コンパイラーgcc 4.4.1)で利用可能なSSE拡張命令を使用しています。それぞれ128ビット長の16個のレジスタが使用可能であることがわかります。これで、4つの整数値を1つのレジスタに、4つを別のレジスタに収容でき、組み込み関数を使用してそれらを1つの命令に追加できます。明らかな利点は、この方法では4つではなく1つの命令しか必要としないことです。
私の質問は「SIMDはこれで全部ですか?」です。a1、a2、a3、a4、a5、a6、a7、a8とb1、b2、b3、b4、b5、b6、b7、b8があるとします。A1、A2をベクトルレジスタとします。ここで、A1 <<<(a1、a2、a3、a4)およびB1 <<<(b1、b2、b3、b4)、およびadd(A1、B1)がベクトル加算を実行します。
A2 <<<(a5、a6、a7、a8)、B2 <<<(b5、b6、b7、b8)とします。add(A1、B1)とadd(A2、B2)を同時に実行できるadd命令はありますか。
core2duoで使用できるベクトル関数単位の数と、これらの情報はどこで入手できますか?
これらに関連するその他の情報源は高く評価されています。