Open
Description
Currently polyval
(and thus crates built on top of it) uses 32-bit soft backend which was written with targets without wide multiplication in mind. However, this code can be quite inefficient for targets which do support wide multiplication, such as:
- WASM32:
u32
s can be extended to 64 bits and multiplied usingi64.mul
. - RISC-V: wide multiplication is implemented by combining
MULHU
andMUL
operations (hardware may fuse them later into a single instruction).
Also it may be worth to add a soft backend for 64-bit targets without wide multiplication? Though right now I can't name a target for which it could be useful.
Metadata
Assignees
Labels
No labels
Activity