Skip to content

Commit ada3f40

Browse files
Merge pull request #28 from riscv-non-isa/Issue-17
Fixed spelling - Issue 17
2 parents ef7b63d + 4f8b6a9 commit ada3f40

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/hti.adoc

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ target that _can_ be inferred from the source code.
5555
* If context or time is supported then the _instruction_address_ for:
5656
** The last instruction retired before a context or a time change;
5757
** The first instruction retired following a context or time change.
58-
* Whether jump targets are sequentially inferable or not.
58+
* Whether jump targets are sequentially inferrable or not.
5959

6060
The mandatory information is the bare-minimum required to implement a basic
6161
branch trace encoding algorithm.
@@ -70,39 +70,39 @@ be inferred or not;
7070
encoder efficiency, particularly for loops. This requires
7171
the encoder to be aware of the address of all branches, whether they are
7272
taken or not.
73-
* Uninferable jumps can be treated as inferable (which don't need to be
73+
* Uninferrable jumps can be treated as inferrable (which don't need to be
7474
reported in the trace output) if both the jump and the preceding
7575
instruction which loads the target into a register have been traced.
7676

7777
[[JumpClasses]]
7878
==== Jump classification and target inference
7979

80-
Jumps are classified as _inferable_, or _uninferable_. An _inferable_
80+
Jumps are classified as _inferrable_, or _uninferrable_. An _inferrable_
8181
jump has a target which can be deduced from the binary executable or
8282
representation thereof (e.g. ELF). For the purposes of this
8383
specification, the following strict definition applies:
8484

8585
If the target of a jump is supplied via a constant embedded within the
86-
jump opcode, it is classified as _inferable_. Jumps which are not
87-
_inferable_ are by definition _uninferable_.
86+
jump opcode, it is classified as _inferrable_. Jumps which are not
87+
_inferrable_ are by definition _uninferrable_.
8888

8989
However, there are some jump targets which can still be deduced from the
9090
binary executable by considering pairs of instructions even though by
91-
the above definition they are classified as uninferable. Specifically,
91+
the above definition they are classified as uninferrable. Specifically,
9292
when the source register for the jump instruction is supplied via
9393

9494
* an *_lui_* or *_c.lui_* (a register which contains a constant), or
9595
* an *_auipc_* (a register which contains a constant offset from the
9696
PC).
9797

98-
Such jump targets are classified as _sequentially inferable_ if the pair
98+
Such jump targets are classified as _sequentially inferrable_ if the pair
9999
of instructions are retired consecutively (i.e. the *_auipc_*, *_lui_*
100100
or *_c.lui_* immediately precedes the jump). Note: the restriction that
101101
the instructions are retired consecutively is necessary in order to
102102
minimize the additional signalling needed between the hart and the
103103
encoder, and should have a minimal impact on trace efficiency as it is
104104
anticipated that consecutive execution will be the norm. Support for
105-
sequentially inferable jumps is optional.
105+
sequentially inferrable jumps is optional.
106106

107107
Jumps may optionally be further classified according to the recommended calling convention into _Calls_, _Returns_, _Co-routine swap_, and _other jumps with and without linkage_. Full details are provided in <<tab:itype4>>.
108108

@@ -183,8 +183,8 @@ retired on this cycle.
183183
Encoding given in Table <<tab:context-type>>. Codes 2-3
184184
optional.
185185
|*sijump* | OR | If *itype* indicates that this block ends with an
186-
uninferable discontinuity, setting this signal to 1 indicates that it is
187-
sequentially inferable and may be treated as inferable by the encoder if
186+
uninferrable discontinuity, setting this signal to 1 indicates that it is
187+
sequentially inferrable and may be treated as inferrable by the encoder if
188188
the preceding *_auipc_*, *_lui_* or *_c.lui_* has been traced. Ignored
189189
for *itype* codes other than 6, 8, 10, 12 or 14.
190190
|===
@@ -234,7 +234,7 @@ retired instruction
234234
|5 | Taken branch | <<itype_branch,Conditional branch>> | Taken direct, conditional branch
235235
|6 | Uninferrable jump +
236236
Pop/Return | JALR rd, rs +
237-
CM.POPRET| Uninferable jump +
237+
CM.POPRET| Uninferrable jump +
238238
Defined by *Zcmt* extension
239239
|7 | reserved | |
240240
|===
@@ -255,7 +255,7 @@ retired instruction
255255
|5 | Taken branch | <<itype_branch,Conditional branch>> | Taken direct, conditional branch
256256
| 6 +
257257
7 | reserved | |
258-
|8 | Uninferable call | JALR rd, rs +
258+
|8 | Uninferrable call | JALR rd, rs +
259259
+
260260
C.JALR rs | rd = `link` and rs != `link` +
261261
rd = `link` and rs = `link` and rd = rs +
@@ -265,7 +265,7 @@ retired instruction
265265
CM.JALT| rd = `link` +
266266
Expands to `JAL x1, offset` +
267267
Defined by <<zcmt,Zcmt>> extension
268-
|10 | Uninferable jump +
268+
|10 | Uninferrable jump +
269269
(without linkage) | JALR rd, rs +
270270
C.JR rs | rd = *x0* and rs != `link` +
271271
rs != `link` +
@@ -283,8 +283,8 @@ retired instruction
283283
CM.POPRET| rd != `link` and rs = `link` +
284284
rs = `link` +
285285
Defined by *Zcmt* extension
286-
|14 | Other uninferable jump (with linkage) | JALR rd, rs | rd != `link` and rd != *x0* and rs != `link` +
287-
|15 | Other inferable jump (without linkage) | JAL rd | rd != `link` and rd != *x0*
286+
|14 | Other uninferrable jump (with linkage) | JALR rd, rs | rd != `link` and rd != *x0* and rs != `link` +
287+
|15 | Other inferrable jump (without linkage) | JAL rd | rd != `link` and rd != *x0*
288288
|===
289289

290290

@@ -295,7 +295,7 @@ NOTE: Branches (*itype*=4, 5) are always conditional, direct branches. In RISC-V
295295
NOTE: Symbol `link` means register *x1* or *x5* as specified in *The RISC-V Instruction Set Manual, Volume I: Unprivileged ISA* document.
296296

297297
[[zcmt]]
298-
NOTE: Jump instructions (CM.JT and CM.JALT) defined by ratified *Zcmt* extension are handled as direct (inferable) jumps as jump tables are assumed to be static and known to the decoder.
298+
NOTE: Jump instructions (CM.JT and CM.JALT) defined by ratified *Zcmt* extension are handled as direct (inferrable) jumps as jump tables are assumed to be static and known to the decoder.
299299

300300
<<<
301301

@@ -329,7 +329,7 @@ block without having access to the size of every instruction in the
329329
block.
330330

331331
*itype* can be 3 or 4 bits wide. If _itype_width_p_ is 3, a single code
332-
(6) is used to indicate all uninferable jumps. This is simpler to
332+
(6) is used to indicate all uninferrable jumps. This is simpler to
333333
implement, but precludes use of the implicit return mode (see
334334
<<impret,Implicit Return>>), which requires jump types to be fully classified.
335335
Note that when _itype_width_p_ is 3, *itype* = 0 is used for inferrable calls.
@@ -356,11 +356,11 @@ instructions up to the 1st branch must be reported in group 0 and
356356
instructions up to the 2nd branch must be reported in group 1 and so on.
357357

358358
*sijump* is optional and may be omitted if the hart does not implement
359-
the logic to detect sequentially inferable jumps. If the encoder offers
359+
the logic to detect sequentially inferrable jumps. If the encoder offers
360360
an *sijump* input it must also provide a parameter to indicate whether
361361
the input is connected to a hart that implements this capability, or
362362
tied off. This is to ensure the decoder can be made aware of the hart’s
363-
capability. Enabling sequentially inferable jump mode in the encoder and
363+
capability. Enabling sequentially inferrable jump mode in the encoder and
364364
decoder when the hart does not support it will prevent correct
365365
reconstruction by the decoder.
366366

0 commit comments

Comments
 (0)