aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2019-06-21 18:57:19 -0700
committerAndrew Waterman <andrew@sifive.com>2019-06-21 18:57:19 -0700
commit964513a32e4472190d8f9c671fca515142a1b6f8 (patch)
tree1df483c020f04eb396460ae597f86c2f12bd058d
parentfc5b6ca73edcb04f7c8d8f215ecf0d543466e6a0 (diff)
downloadriscv-isa-manual-964513a32e4472190d8f9c671fca515142a1b6f8.zip
riscv-isa-manual-964513a32e4472190d8f9c671fca515142a1b6f8.tar.gz
riscv-isa-manual-964513a32e4472190d8f9c671fca515142a1b6f8.tar.bz2
Clarify PC behavior when XLEN < max supported XLEN
-rw-r--r--src/machine.tex2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/machine.tex b/src/machine.tex
index be3413e..302a620 100644
--- a/src/machine.tex
+++ b/src/machine.tex
@@ -658,6 +658,8 @@ Whenever XLEN in any mode is set to a value less than the widest
supported XLEN, all operations must ignore source operand register
bits above the configured XLEN, and must sign-extend results to fill
the entire widest supported XLEN in the destination register.
+Similarly, {\tt pc} bits above XLEN are ignored, and when the {\tt pc}
+is written, it is sign-extended to fill the widest supported XLEN.
\begin{commentary}
We require that operations always fill the entire underlying hardware
registers with defined values to avoid implementation-defined