Assignment
Implement mul, div, divu, rem, remu, mulw, divw, divuw, remw, and remuw instructions.
Introduction
RV64M is a hardware multiply and divide extension. Many smaller systems require software implementations of multiplication and division. However, those that support RV64M have a hardware implementation, and thus have new instructions to support it.
As you can see above, all instructions are R-type instructions, and all instructions require that funct7 be 1. They also share the same opcode, so the main discriminator is funct3.