3 ms·
The B extension is going to add that. https://github.com/riscv/riscv-bitmanip https://github.com/riscv/riscv-bitmanip Also conditional move which you really n
by Symmetry 6y ago
The B extension is going to add that.
https://github.com/riscv/riscv-bitmanip https://github.com/riscv/riscv-bitmanip
Also conditional move which you really need for a lot of reasons but especially to avoid timing attacks in cryptography.
- ncmncm 6y agoThe B extension spec seems to be stagnating. It will anyway be optional and probably rarely implemented even if ever finished. If we have to wait on B, it probably means not getting popcount. Conditional move would be there implicitly if they had defined boolean "true" to be ~0 in the ABI: just AND. Instead they made it 1, so you have to negate it before you can use it for anything. This has been well understood in SIMD circles for decades; it is a mystery how they could have missed it. I am ready for a RISC-VI, RISC-W, or RISD-V "fixed version".
- nickik 6y agoB extension was making good progress after it had slowed down for a while. Seems like standardization has slowed because of COVID. The argument that it will never be implemented seems kind of wrong, why not? Multiple vendors and open source extensions already implemented the essential functionality in non standard ways. In the next standard profile for Linux, the V and B extensions will very likely be included. ISA standardization never happens as fast as you hope it does.
- ncmncm 6y agoPopcount is important even in minimal implementations, including "embedded". Waiting for B is not a way to get popcount where it is needed. We need another track.