ビットコイン・インスティテュート

Re: 0.3.6向けSSE2 CPUでの​4ハッシュ並列処理

人物: tcatm
tcatm 2010年7月31日10:12 UTC
サトシ・ナカモトの投稿(2010年7月31日00:29 UTC)

すごい……

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

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

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