From b1acc301a3995e64bc8c1bf8bb094bf8b20d8912 Mon Sep 17 00:00:00 2001
From: Andrew Waterman <andrew@sifive.com>
Date: Thu, 20 Jul 2017 16:08:46 -0700
Subject: Add note about C.MV

---
 src/c.tex | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'src/c.tex')

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

