}}bit_pop1stはbitboardのLSBから立っているビット位置を返し、そのビットをクリアする関数である。bitboardが全てゼロのときは-1を返すようにした。pos;}SSE2ではand128などの128bit論理演算が可能である。(r).x=_mm_or_si128((r).x,_mm_and_si128((a).x,(b).x))SSE4では次の比較関数も使える。Zフラグに結果が入る。(!_mm_testz_si128((a).x,(b).x))上記手生成コードでSIMD命令が有効となるのはand128であろう。後の命令は非SIMD命令であり、SIMDレジスタと通常レジスタの移動のオーバーヘッドがあるだろう。