Re: SSE2 CPU向け4ハッシュ並列処理(0.3.6用)

参加者: tcatm

Quote from: satoshi on July 31, 2010, 12:29:20 AM

すごい……

つまり、128ビットレジスタを使って4つの32ビットデータを一度にSIMD処理しているということか? 長い間それを考えていたが、加算の桁上がりが隣の値に影響するため、不可能だと思っていた。

その通りだ。128ビットベクトルに4つの32ビット値を入れる。それぞれ独立に計算されるが、同時に処理される。

ところで、attribute ((aligned (16)))でコンパイル時にアラインメントを指示できるのに、なぜalignup<16>関数を使っているのか?