The integer multiplication use the floating point unit. While a 32 bits FP only require a 23x23 bits multiply it also require the upper (most significant bits).
Usually a 32x32 bits multiplication in C return the least significant bits.
So my question is: Does the integer multiplication return either the 32 least significant bits but based on 23 bits operands (That will be original ) or return 64 bits over two registers ( is a full 32 bits multiply) or simply return the least significant 32 bits of a full 32x32 multiplication?
If it is the latest, have you considered offering a multiplication that return only the most significant bits? I am asking as if one want to implement larger precision arithmetic the current instruction set make that a bit tedious...
Thanks.