2 ms·
>Generic RV32I code is comically bad, since it doesn't even have things like hardware multiply. Which is great when you don't need hardware multiply. Alas the
by snvzz 2y ago
>Generic RV32I code is comically bad, since it doesn't even have things like hardware multiply.
Which is great when you don't need hardware multiply.
Alas there was an oversight, which is that M includes divide, but in the smallest cores, very often multiply is desired yet divide, which is much more costly, is not.
Some Z extension was later defined to give multiply w/o divide.
Most RISC-V MCUs in the wild are currently implementing at least RV32IMAC.
>it turns out that `-march=rvi20u32_mac` also works - it takes a profile name followed by extensions.
Yup, and most of the time simply targeting a profile is desired.
Microcontrollers and very embedded cores are of course their own world, but fortunately the world of custom is also a world where binary application compatibility does not matter.