2 ms·
I think the parent poster might have been referring to the integer multiply-add instruction. In fact, 64-bit ARM does not have a regular MUL instruction. "MUL"
by Findecanor 3y ago
I think the parent poster might have been referring to the integer multiply-add instruction.
In fact, 64-bit ARM does not have a regular MUL instruction. "MUL" is an alias to MADD with the zero register as addend.
BTW. There is also no REM instruction.
Flipping one parameter bit in the instruction word of an MADD makes the unit negate the product, changing it into a MSUB. That instruction is intended for computing the remainder after a DIV. So, when you need only a remainder there are eight instruction bytes — and high latency on small cores.
Bigger ARM cores (such as Apple M1) perform macro-op fusion of DIV and MSUB to deliver both quotient and remainder in one operation.