@@ -21,14 +21,14 @@ immediately following the exception);
2121* The current privilege level of the RISC-V hart;
2222* The instruction type of retired instructions for:
2323** Jumps with a target that cannot be inferred from the source code;
24- ** Taken and nontaken branches;
24+ ** Taken and non-taken branches;
2525** Return from exception or interrupt (*_*ret_* instructions).
2626* The instruction address for:
2727** Jumps with a target that _cannot_ be inferred from the source code;
2828** The instruction retired immediately after a jump with a target that
2929_cannot_ be inferred from the source code (also referred to as the
3030target or destination of the jump);
31- ** Taken and nontaken branches;
31+ ** Taken and non-taken branches;
3232** The last instruction retired before an exception or interrupt;
3333** The first instruction retired following an exception or interrupt;
3434** The last instruction retired before a privilege change;
@@ -219,7 +219,7 @@ instruction in this block is 2^*ilastsize*^ half-words.
219219
220220[[tab:itype3]]
221221.Instruction Type (*itype*) encoding (_itype_width_p_ = 3)
222- [align="center",float="center",cols="<7%,<17 %,<13%,~",options="header"]
222+ [align="center",float="center",cols="<7%,<22 %,<13%,~",options="header"]
223223|===
224224| *Value* | *Name* | *Instruction* | *Condition/Notes*
225225| 0 |Other | | Last instruction in the block matches none of the other instructions defined in this table
@@ -229,12 +229,16 @@ instruction in this block is 2^*ilastsize*^ half-words.
229229retired instruction
230230|3 | Trap return | MRET +
231231 SRET | Return from exception or interrupt handler
232- |4 | Nontaken branch | <<itype_branch,Conditional branch>> | Not-taken direct, conditional branch
232+ |4 | Non-taken branch | <<itype_branch,Conditional branch>> | Not-taken direct, conditional branch
233233|5 | Taken branch | <<itype_branch,Conditional branch>> | Taken direct, conditional branch
234234|6 | Uninferrable jump +
235- Pop/Return | JALR rd, rs +
236- CM.POPRET| Uninferrable jump +
237- Defined by *Zcmt* extension
235+ Return | JALR rd, rs +
236+ C.JALR rs +
237+ C.JR rs +
238+ CM.POPRET| Uninferrable jump +
239+ +
240+ +
241+ Defined by *Zcmt* extension
238242|7 | reserved | |
239243|===
240244
@@ -250,10 +254,10 @@ retired instruction
250254retired instruction
251255|3 | Trap return | MRET +
252256 SRET | Return from exception or interrupt handler
253- |4 | Nontaken branch | <<itype_branch,Conditional branch>> | Not-taken direct, conditional branch
257+ |4 | Non-taken branch | <<itype_branch,Conditional branch>> | Not-taken direct, conditional branch
254258|5 | Taken branch | <<itype_branch,Conditional branch>> | Taken direct, conditional branch
255- | 6 +
256- 7 | reserved | |
259+ | 6 | reserved | |
260+ | 7 | reserved | |
257261|8 | Uninferrable call | JALR rd, rs +
258262 +
259263 C.JALR rs | rd = `link` and rs != `link` +
@@ -276,12 +280,11 @@ retired instruction
276280|12 | Co-routine swap | JALR rd, rs +
277281 C.JALR rs| rd = `link` and rs = `link` and rd != rs +
278282 rs = *x5* +
279- |13 | Return +
280- Pop/return | JALR rd, rs +
281- C.JR rs +
282- CM.POPRET| rd != `link` and rs = `link` +
283- rs = `link` +
284- Defined by *Zcmt* extension
283+ |13 | Return | JALR rd, rs +
284+ C.JR rs +
285+ CM.POPRET| rd != `link` and rs = `link` +
286+ rs = `link` +
287+ Defined by *Zcmt* extension
285288|14 | Other uninferrable jump (with linkage) | JALR rd, rs | rd != `link` and rd != *x0* and rs != `link` +
286289|15 | Other inferrable jump (without linkage) | JAL rd | rd != `link` and rd != *x0*
287290|===
0 commit comments