RISC-Vのビット操作系拡張(B拡張)のまとめ(その3)

gorc, gorci

gorc命令では、「入力の両方が0なら出力の両方が0、それ以外なら出力の両方が1」というバタフライ演算を、FFTのように適用します。 log_2 XLEN段のバタフライネットワークのうち、どこを有効にし、どこを無効(入力を素通し)にするかをrs2/immで指定します。

XLEN'(1,2,4,8,16,32,64)ビット毎に、「X(1,2,4,8,16,32)ビット飛ばしのXLEN/Xビットすべてが0ならそれらを0のままに、そうでないならそれらをすべて1に変更」を行うというSIMD命令が実現可能です。

8ビット毎に、「その8ビット全てが0なら0のまま、そうでないならそれらをすべて1に変更」というSIMD命令orc.bは、文字列検索に有用です。