rfc9669v2.txt   rfc9669.txt 
skipping to change at line 295 skipping to change at line 295
|src_reg|dst_reg| |src_reg|dst_reg|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
and as follows on a big-endian host: and as follows on a big-endian host:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|dst_reg|src_reg| |dst_reg|src_reg|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
*src_reg:* the source register number (0-10), except where *src_reg:* the source register number (0-10), except where
otherwise specified (64-bit immediate instructions Section 5.4 otherwise specified (64-bit immediate instructions (see
reuse this field for other purposes) Section 5.4) reuse this field for other purposes)
*dst_reg:* the destination register number (0-10), unless *dst_reg:* the destination register number (0-10), unless
otherwise specified (future instructions might reuse this field otherwise specified (future instructions might reuse this field
for other purposes) for other purposes)
*offset:* signed integer offset used with pointer arithmetic, except *offset:* signed integer offset used with pointer arithmetic, except
where otherwise specified (some arithmetic instructions reuse this where otherwise specified (some arithmetic instructions reuse this
field for other purposes) field for other purposes)
*imm:* signed integer immediate value *imm:* signed integer immediate value
skipping to change at line 409 skipping to change at line 409
| source | Value | Description | | source | Value | Description |
+========+=======+==========================================+ +========+=======+==========================================+
| K | 0 | use 32-bit 'imm' value as source operand | | K | 0 | use 32-bit 'imm' value as source operand |
+--------+-------+------------------------------------------+ +--------+-------+------------------------------------------+
| X | 1 | use 'src_reg' register value as source | | X | 1 | use 'src_reg' register value as source |
| | | operand | | | | operand |
+--------+-------+------------------------------------------+ +--------+-------+------------------------------------------+
Table 4: Source Operand Location Table 4: Source Operand Location
*instruction class:* the instruction class (see Section 3.3) *class:* the instruction class (see Section 3.3)
4.1. Arithmetic Instructions 4.1. Arithmetic Instructions
ALU uses 32-bit wide operands while ALU64 uses 64-bit wide operands ALU uses 32-bit wide operands while ALU64 uses 64-bit wide operands
for otherwise identical operations. ALU64 instructions belong to the for otherwise identical operations. ALU64 instructions belong to the
base64 conformance group unless noted otherwise. The 'code' field base64 conformance group unless noted otherwise. The 'code' field
encodes the operation as below, where 'src' refers to the source encodes the operation as below, where 'src' refers to the source
operand and 'dst' refers to the value of the destination register. operand and 'dst' refers to the value of the destination register.
+=======+======+=========+=======================================+ +=======+======+=========+=======================================+
skipping to change at line 732 skipping to change at line 732
For load and store instructions (LD, LDX, ST, and STX), the 8-bit For load and store instructions (LD, LDX, ST, and STX), the 8-bit
'opcode' field is divided as follows: 'opcode' field is divided as follows:
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|mode |sz |class| |mode |sz |class|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
*mode:* The mode modifier is one of: *mode:* The mode modifier is one of:
+===============+=======+===================+===========+ +========+=======+===============================+=============+
| mode modifier | Value | Description | Reference | | mode | Value | Description | Reference |
+===============+=======+===================+===========+ +========+=======+===============================+=============+
| IMM | 0 | 64-bit immediate | Section | | IMM | 0 | 64-bit immediate instructions | Section 5.4 |
| | | instructions | 5.4 | +--------+-------+-------------------------------+-------------+
+---------------+-------+-------------------+-----------+ | ABS | 1 | legacy BPF packet access | Section 5.5 |
| ABS | 1 | legacy BPF packet | Section | | | | (absolute) | |
| | | access (absolute) | 5.5 | +--------+-------+-------------------------------+-------------+
+---------------+-------+-------------------+-----------+ | IND | 2 | legacy BPF packet access | Section 5.5 |
| IND | 2 | legacy BPF packet | Section | | | | (indirect) | |
| | | access (indirect) | 5.5 | +--------+-------+-------------------------------+-------------+
+---------------+-------+-------------------+-----------+ | MEM | 3 | regular load and store | Section 5.1 |
| MEM | 3 | regular load and | Section | | | | operations | |
| | | store operations | 5.1 | +--------+-------+-------------------------------+-------------+
+---------------+-------+-------------------+-----------+ | MEMSX | 4 | sign-extension load | Section 5.2 |
| MEMSX | 4 | sign-extension | Section | | | | operations | |
| | | load operations | 5.2 | +--------+-------+-------------------------------+-------------+
+---------------+-------+-------------------+-----------+ | ATOMIC | 6 | atomic operations | Section 5.3 |
| ATOMIC | 6 | atomic operations | Section | +--------+-------+-------------------------------+-------------+
| | | | 5.3 |
+---------------+-------+-------------------+-----------+
Table 8: Mode Modifier Table 8: Mode Modifier
*sz (size):* The size modifier is one of: *sz (size):* The size modifier is one of:
+======+=======+=======================+ +======+=======+=======================+
| size | Value | Description | | size | Value | Description |
+======+=======+=======================+ +======+=======+=======================+
| W | 0 | word (4 bytes) | | W | 0 | word (4 bytes) |
+------+-------+-----------------------+ +------+-------+-----------------------+
skipping to change at line 1316 skipping to change at line 1314
documented in a public-facing specification. In the event of future documented in a public-facing specification. In the event of future
RFC documents for ISA extensions, experts may permit early assignment RFC documents for ISA extensions, experts may permit early assignment
before the RFC document is available, as long as a specification that before the RFC document is available, as long as a specification that
satisfies the above requirements exists. satisfies the above requirements exists.
8. References 8. References
8.1. Normative References 8.1. Normative References
[IEN137] Cohen, D., "ON HOLY WARS AND A PLEA FOR PEACE", IEN 137, 1 [IEN137] Cohen, D., "ON HOLY WARS AND A PLEA FOR PEACE", IEN 137, 1
April 1980. April 1980, <https://www.rfc-editor.org/ien/ien137.txt>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
 End of changes. 4 change blocks. 
25 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.48.