You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Applying style guidelines and spelling to M (riscv#1835)
* Update M extension with style guidelines
This PR contains changes for the style guidelines that were discussed in the doc-sig. Style guidelines say that extension names an registers should be in back tics.
This also fixes the old spelling of "implementors".
Signed-off-by: Kersten Richter <[email protected]>
* Update m-st-ext.adoc
Signed-off-by: Kersten Richter <[email protected]>
* Update src/m-st-ext.adoc
Signed-off-by: Kersten Richter <[email protected]>
* Update src/m-st-ext.adoc
Signed-off-by: Kersten Richter <[email protected]>
* Update src/m-st-ext.adoc
Signed-off-by: Kersten Richter <[email protected]>
* Update src/m-st-ext.adoc
Signed-off-by: Kersten Richter <[email protected]>
---------
Signed-off-by: Kersten Richter <[email protected]>
MUL performs an XLEN-bit×XLEN-bit multiplication of
26
-
_rs1_ by _rs2_ and places the lower XLEN bits in the destination
26
+
`rs1` by `rs2` and places the lower XLEN bits in the destination
27
27
register. MULH, MULHU, and MULHSU perform the same multiplication but
28
28
return the upper XLEN bits of the full 2×XLEN-bit
29
29
product, for signed×signed,
30
-
unsigned×unsigned, and _rs1_×unsigned _rs2_ multiplication, respectively.
31
-
If both the high and low bits of the same product are required, then the recommended code sequence is: MULH[[S]U] _rdh, rs1, rs2_; MUL _rdl, rs1, rs2_ (source register specifiers must be in same order and _rdh_ cannot be the same as _rs1_ or _rs2_). Microarchitectures can then fuse these into a single multiply operation instead of performing two separate multiplies.
30
+
unsigned×unsigned, and `rs1`×unsigned `rs2` multiplication.
31
+
If both the high and low bits of the same product are required, then the recommended code sequence is: `MULH[[S]U] rdh, rs1, rs2; MUL rdl, rs1, rs2` (source register specifiers must be in same order and `rdh` cannot be the same as `rs1` or `rs2`). Microarchitectures can then fuse these into a single multiply operation instead of performing two separate multiplies.
0 commit comments