Because RISC-V is an open-source architecture, one can come up with ISA extensions for dedicated purposes (e.g. bit manipulation, or cryptographic implementations).
While I understand that such extensions allow to speed up the calculations for a particular function, it is not clear to me what the drawbacks are.
In which case should I prefer a software implementation over an ISA extension if one that fits my needs is available? What are the additional costs to be taken into consideration when integrating several ISA extensions into a RISC-V core?