M Extension
- Implemented Version
-
2.0.0
Synopsis
This chapter describes the standard integer multiplication and division instruction extension, which is named M and contains instructions that multiply or divide values held in two integer registers.
We separate integer multiply and divide out from the base to simplify low-end implementations, or for applications where integer multiply and divide operations are either infrequent or better handled in attached accelerators. |
Instructions
The following instructions are added by this extension in the example_rv64_with_overlay configuration:
Signed division |
|
Unsigned division |
|
Unsigned 32-bit division |
|
Signed 32-bit division |
|
Signed multiply |
|
Signed multiply high |
|
Signed/unsigned multiply high |
|
Unsigned multiply high |
|
Signed 32-bit multiply |
|
Signed remainder |
|
Unsigned remainder |
|
Unsigned 32-bit remainder |
|
Signed 32-bit remainder |