This patch provides optimization of bit manipulation operations by enabling
the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific bit-manip
instructions from the ternary subset (zbt subextension) of the experimental
B extension of RISC-V.
It adds also the correspondent codegen tests.
This patch is based on Clifford Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf
Nitpick: See comment on first patch regarding these extra tests.