From b1acc301a3995e64bc8c1bf8bb094bf8b20d8912 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 20 Jul 2017 16:08:46 -0700 Subject: Add note about C.MV --- src/c.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/c.tex b/src/c.tex index 78eb361..066c5ef 100644 --- a/src/c.tex +++ b/src/c.tex @@ -968,6 +968,13 @@ These instructions use the CR format. C.MV copies the value in register {\em rs2} into register {\em rd}. C.MV expands into {\tt add rd, x0, rs2}. +\begin{commentary} +C.MV expands to a different instruction than the canonical MV +pseudoinstruction, which instead uses ADDI. Implementations that handle MV +specially, e.g. using register-renaming hardware, may find it more convenient +to expand C.MV to MV instead of ADD, at slight additional hardware cost. +\end{commentary} + C.ADD adds the values in registers {\em rd} and {\em rs2} and writes the result to register {\em rd}. C.ADD expands into {\tt add rd, rd, rs2}. -- cgit v1.1