### LD/ST
- | 16-bit mode | | 10-bit mode |
- | 0 | 1 | 2 3 4 | | 567.8 | 9 a b | c d e | f |
- | RA2 | SZ | RB | | 001.1 | 1 RA | 0 RT | M | st
- | RA2 | SZ | RB | | 001.1 | 1 RA | 1 RT | M | fst
- | N | SZ | RT | | 111.0 | RA | RB | M | ld
- | N | SZ | RT | | 111.1 | RA | RB | M | fld
+Note: for 10-bit, ignore bits 0-4 (used by EXTNNN=Compressed)
+
+ | 16-bit mode | | 10-bit mode |
+ | 0 | 1 | 234 | | 567.8 | 9 a b | c d e | f |
+ | --- | -- | --- | | ----- | ----- | ----- | - |
+ | RA2 | SZ | RB | | 001.1 | 1 RA | 0 RT | M | st
+ | RA2 | SZ | RB | | 001.1 | 1 RA | 1 RT | M | fst
+ | N | SZ | RT | | 111.0 | RA | RB | M | ld
+ | N | SZ | RT | | 111.1 | RA | RB | M | fld
* elwidth overrides can set different widths
### Arithmetic
+* 10-bit, ignore bits 0-4 (used by EXTNNN=Compressed)
+* 16-bit: note that bit 1==0 (sub-sub-encoding)
+
| 16-bit mode | | 10-bit mode |
| 0 | 1 | 234 | | 567.8 | 9ab | c d e | f |
+ | - | - | --- | | ----- | --- | ----- | - |
| N | 0 | RT | | 010.0 | RB | RA!=0 | M | add
| N | 0 | RT | | 010.1 | RB | RA|0 | M | sub.
| N | 0 | BF | | 011.0 | RB | RA|0 | M | cmpl
16 bit mode only:
| 0 | 1 | 234 | | 567.8 | 9ab | cde | f |
+ | - | - | --- | | ----- | --- | ----- | - |
| N | 1 | RA | | 010.0 | RB | RS | 0 | sld.
| N | 1 | RA | | 010.1 | RB | RS!=0 | 0 | srd.
| N | 1 | RA | | 010.1 | RB | 000 | 0 | srad.
* for srad, RS=RA: "srad. RA(=RS), RS, RB"
-
### Logical
* 10-bit, ignore bits 0-4 (used by EXTNNN=Compressed)
* 16-bit: note that bit 1==0 (sub-sub-encoding)
- | 16-bit mode | | 10-bit mode |
- | 0 | 1 | 2 3 4 | | 567.8 | 9ab | c d e | f |
- | N | 0 | RT | | 100.0 | RB | RA!=0 | M | and
- | N | 0 | RT | | 100.1 | RB | RA!=0 | M | nand
- | N | 0 | RT | | 101.0 | RB | RA!=0 | M | or
- | N | 0 | RT | | 101.1 | RB | RA!=0 | M | nor/mr
- | N | 0 | RT | | 100.0 | RB | 0 0 0 | M | extsw
- | N | 0 | RT | | 100.1 | RB | 0 0 0 | M | cntlz
- | N | 0 | RT | | 101.0 | RB | 0 0 0 | M | popcnt
- | N | 0 | RT | | 101.1 | RB | 0 0 0 | M | not
+ | 16-bit mode | | 10-bit mode |
+ | 0 | 1 | 234 | | 567.8 | 9ab | c d e | f |
+ | - | - | --- | | ----- | --- | ----- | - |
+ | N | 0 | RT | | 100.0 | RB | RA!=0 | M | and
+ | N | 0 | RT | | 100.1 | RB | RA!=0 | M | nand
+ | N | 0 | RT | | 101.0 | RB | RA!=0 | M | or
+ | N | 0 | RT | | 101.1 | RB | RA!=0 | M | nor/mr
+ | N | 0 | RT | | 100.0 | RB | 0 0 0 | M | extsw
+ | N | 0 | RT | | 100.1 | RB | 0 0 0 | M | cntlz
+ | N | 0 | RT | | 101.0 | RB | 0 0 0 | M | popcnt
+ | N | 0 | RT | | 101.1 | RB | 0 0 0 | M | not
16-bit mode only (note that bit 1 == 1):
- | 0 | 1 | 2 3 4 | | 567.8 | 9ab | c d e | f |
- | N | 1 | RT | | 100.0 | RB | RA!=0 | 0 | TBD
- | N | 1 | RT | | 100.1 | RB | RA!=0 | 0 | TBD
- | N | 1 | RT | | 101.0 | RB | RA!=0 | 0 | xor
- | N | 1 | RT | | 101.1 | RB | RA!=0 | 0 | eqv (xnor)
- | N | 1 | RT | | 100.0 | RB | 0 0 0 | 0 | extsb
- | N | 1 | RT | | 100.1 | RB | 0 0 0 | 0 | cnttz
- | N | 1 | RT | | 101.0 | RB | 0 0 0 | 0 | TBD
- | N | 1 | RT | | 101.1 | RB | 0 0 0 | 0 | extsh
+ | 0 | 1 | 234 | | 567.8 | 9ab | c d e | f |
+ | - | - | --- | | ----- | --- | ----- | - |
+ | N | 1 | RT | | 100.0 | RB | RA!=0 | 0 | TBD
+ | N | 1 | RT | | 100.1 | RB | RA!=0 | 0 | TBD
+ | N | 1 | RT | | 101.0 | RB | RA!=0 | 0 | xor
+ | N | 1 | RT | | 101.1 | RB | RA!=0 | 0 | eqv (xnor)
+ | N | 1 | RT | | 100.0 | RB | 0 0 0 | 0 | extsb
+ | N | 1 | RT | | 100.1 | RB | 0 0 0 | 0 | cnttz
+ | N | 1 | RT | | 101.0 | RB | 0 0 0 | 0 | TBD
+ | N | 1 | RT | | 101.1 | RB | 0 0 0 | 0 | extsh
10 bit mode: