From a84a2610eee737d423646bbe8f30906b3d87715e Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 27 Apr 2023 23:36:19 -0700 Subject: [PATCH] Preclude UXLEN > SXLEN --- src/machine.adoc | 3 +++ src/priv-preface.adoc | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/machine.adoc b/src/machine.adoc index 019c1a658..d8487bae9 100644 --- a/src/machine.adoc +++ b/src/machine.adoc @@ -474,6 +474,9 @@ zero. Otherwise, it is a *WARL* field that encodes the current value of UXLEN. In particular, an implementation may make UXL be a read-only field whose value always ensures that UXLEN=MXLEN or UXLEN=SXLEN. +The set of legal values that the SXL field may assume excludes those that would +cause UXLEN to be greater than SXLEN. + 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 diff --git a/src/priv-preface.adoc b/src/priv-preface.adoc index bc532bcfc..612316fbe 100644 --- a/src/priv-preface.adoc +++ b/src/priv-preface.adoc @@ -36,7 +36,8 @@ version 1.12: * Defined the `misa`.V field to reflect that the V extension has been implemented. -* Clarified that MXLEN≥SXLEN. +* Clarified that MXLEN≥SXLEN, and added the constraint that +SXLEN≥UXLEN. *_Preface to Version 20211203_*