clarify notation on _RT in ls008
[libreriscv.git] / openpower / sv / rfc / ls008.mdwn
index 2e5050b03dcd260e0dfadd46d74e3bef76e7ba54..252270c5d00cec69b0255aa1095a8c1c3ab9e476 100644 (file)
@@ -5,7 +5,7 @@
 * <https://libre-soc.org/openpower/sv/>
 * <https://libre-soc.org/openpower/sv/rfc/ls008/>
 * <https://bugs.libre-soc.org/show_bug.cgi?id=1040>
-* <https://git.openpower.foundation/isa/PowerISA/issues/87>
+* <https://git.openpower.foundation/isa/PowerISA/issues/123>
 
 **Severity**: Major
 
@@ -98,13 +98,12 @@ Add the following entries to:
 
 # Notation, Section 1.3.2
 
-When register operands (`RA, RT, BF`) are prefixed by a single underscore
-(`_RT, _RA, _BF`) the variable contains the contents of the instruction field
-not the contents of the Register File referenced *by* that field. Example:
-`_RT` contains the contents of bits 5 thru 10. The relationship
-`RT = GPR(_RT)` is thus always true. Uses include making alternative
-decisions within an instruction based on whether the operand field
-is zero or non-zero.
+When destination register operands (`RT, RS`) are prefixed by a single
+underscore (`_RT, _RS`) the variable also contains the contents of the
+instruction field.
+This avoids confusion in pseudocode when a destination register is
+assigned (`RT <- x`) but earlier it was the operand bits that were
+checked (`if RT = 0`)
 
 ----------------