Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The B extension never gets any love.

The RISC-V crowd hates bitwise anything.



B extension was ratified in 2021, near the end.

It is considerably newer than every extension this emulator implements, and thus reasonable it'd have these and not B.



Hopefully B becomes ubiquitous in the next generation of SoC's, or RISC-V is going to look bad in any benchmarks that happen to have a popcnt in the hot path.


I worry a bit that B is too ambitious with many instructions that no one is using yet which are difficult to prove their value as a result, while regular RISC-V is essentially hobbled compared to ordinary cpus due to the absence of popcnt/clz.


Most implementations announced recently (e.g. in RISC-V Summit last December) have B.

Even the newer revisions of cores that have been available for a while (like SiFive U74) have been updated with B support.

As such, I believe it to be a non-issue. Hardware simply takes time.

>which are difficult to prove their value as a result,

As with any RISC-V extensions, each instruction had to meet many criteria to be allowed in there.

Rationale accompany the instructions in the documentation.


> Most implementations announced recently (e.g. in RISC-V Summit last December) have B.

That's fantastic.

> Rationale accompany the instructions in the documentation.

I've read it-- I didn't personally need it to be convinced, but I'm surprised it convinced vendors. Glad to hear that it has.


At least Zba, Zbb and Zbs are in RVA22 iirc.

edit: Zbs.


Ah, you're right: https://github.com/riscv/riscv-profiles/blob/main/profiles.a...

That's good to see. (Boy, it's really hard to find info about RISC-V profiles on Google. It just seems to ignore all the letters and numbers.)


Zbc (carryless multiply) seems to be needed to implement AES-GCM


It is required in Zkn (Scalar Crypto NIST Algorithms) and Zks (Scalar Crypto ShangMi Algorithms).


>Hopefully B becomes ubiquitous in the next generation of SoC's

Hopefully together with V.


B instructions are also recognized by the GNU bunutils assembler.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: