| 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. | ||||