diff --git a/src/rv32.adoc b/src/rv32.adoc index d5bf8de02..fc838707f 100644 --- a/src/rv32.adoc +++ b/src/rv32.adoc @@ -1036,6 +1036,10 @@ hints, security tags, and instrumentation flags for simulation/emulation. (_rs2_=`x4`) NTL.S1 + (_rs2_=`x5`) NTL.ALL +|SLLI |_rd_=`x0`, _rs1_=`x0`, _shamt_=31 |1|Semihosting entry marker + +|SRAI |_rd_=`x0`, _rs1_=`x0`, _shamt_=7 |1|Semihosting exit marker + |SUB |_rd_=`x0` |latexmath:[$2^{10}$] .11+<.^m|_Designated for future standard use_ |AND |_rd_=`x0` |latexmath:[$2^{10}$] @@ -1066,16 +1070,19 @@ hints, security tags, and instrumentation flags for simulation/emulation. |SLTIU|_rd_=`x0` |latexmath:[$2^{17}$] -|SLLI |_rd_=`x0` |latexmath:[$2^{10}$] +|SLLI |_rd_=`x0`, and either _rs1_≠``x0`` or _shamt_≠31 |latexmath:[$2^{10}-1$] |SRLI |_rd_=`x0` |latexmath:[$2^{10}$] -|SRAI |_rd_=`x0` |latexmath:[$2^{10}$] +|SRAI |_rd_=`x0`, and either _rs1_≠``x0`` or _shamt_≠7 |latexmath:[$2^{10}-1$] |SLT |_rd_=`x0` |latexmath:[$2^{10}$] |SLTU |_rd_=`x0` |latexmath:[$2^{10}$] |=== -TIP: When allocating `slli x0, x0, 0x1f` or `srai x0, x0, 7` as custom HINTs, -take note of their use in semihosting calls, as described in <>. +NOTE: `slli x0, x0, 0x1f` and `srai x0, x0, 7` were previously designated as +custom HINTs, but they have been appropriated for use in semihosting calls, as +described in <>. +To reflect their usage in practice, the base ISA spec has been changed to +designate them as standard HINTs. diff --git a/src/rv64.adoc b/src/rv64.adoc index 8e3b60b77..35dca3b7b 100644 --- a/src/rv64.adoc +++ b/src/rv64.adoc @@ -194,6 +194,10 @@ no standard HINTs will ever be defined in this subspace. (_rs2_=_x4_) NTL.S1 + (_rs2_=_x5_) NTL.ALL +|SLLI |_rd_=`x0`, _rs1_=`x0`, _shamt_=31 |1|Semihosting entry marker + +|SRAI |_rd_=`x0`, _rs1_=`x0`, _shamt_=7 |1|Semihosting exit marker + |SUB |_rd_=_x0_ |latexmath:[$2^{10}$] .16+.^| _Designated for future standard use_ |AND |_rd_=_x0_ |latexmath:[$2^{10}$] @@ -232,11 +236,11 @@ no standard HINTs will ever be defined in this subspace. |SLTIU |_rd_=_x0_ |latexmath:[$2^{17}$] -|SLLI |_rd_=_x0_ |latexmath:[$2^{11}$] +|SLLI |_rd_=`x0`, and either _rs1_≠``x0`` or _shamt_≠31 |latexmath:[$2^{11}-1$] -|SRLI |_rd_=_x0_ |latexmath:[$2^{11}$] +|SRLI |_rd_=`x0` |latexmath:[$2^{11}$] -|SRAI |_rd_=_x0_ |latexmath:[$2^{11}$] +|SRAI |_rd_=`x0`, and either _rs1_≠``x0`` or _shamt_≠7 |latexmath:[$2^{11}-1$] |SLLIW |_rd_=_x0_ |latexmath:[$2^{10}$] @@ -249,3 +253,8 @@ no standard HINTs will ever be defined in this subspace. |SLTU |_rd_=_x0_ |latexmath:[$2^{10}$] |=== +NOTE: `slli x0, x0, 0x1f` and `srai x0, x0, 7` were previously designated as +custom HINTs, but they have been appropriated for use in semihosting calls, as +described in <>. +To reflect their usage in practice, the base ISA spec has been changed to +designate them as standard HINTs.