| 0.5|6.10|11.15|16.20| 21.22 | 23 | 24..30 |31| name |
| -- | -- | --- | --- | ----- | -- | ------- |--| ---- |
-| NN | RA | RB | RC | itype | 0 | 0000110 |Rc| bmops |
+| NN | RA | RB | | | 0 | 0000110 |Rc| rsvd |
| NN | RA | RB | RC | itype | 1 | 0000110 |Rc| xperm |
| NN | RA | RB | RC | itype | 0 | 0100110 |Rc| minmax |
| NN | RA | RB | | | 1 | 0100110 |Rc| rsvd |
| 0.5|6.10|11.15|16.20|21.25| 26..30 |31|
| -- | -- | --- | --- | --- | ------- |--|
-| NN | RT | RA | RB | RC | mode 010 |Rc|
+| NN | RT | RA | RB | RC | mode 1 |1 |
for i in range(64):
idx = RT[i] << 2 | RA[i] << 1 | RB[i]
| 0.5|6.10|11.15| 16.23 |24.27 | 28.30 |31|
| -- | -- | --- | ----- | ---- | ----- |--|
-| NN | RT | RA | xyzw | mask | 010 |0 |
+| NN | RT | RA | xyzw | mask | mode 1 |1 |
for i in range(8):
idx = RA.x[i] << 2 | RA.y[i] << 1 | RA.z[i]
| 0.5|6.10|11.15| 16.23 |24.27 | 28.30 |31|
| -- | -- | --- | ----- | ---- | ----- |--|
-| NN | RT | RA | imm | mask | 010 |1 |
+| NN | RT | RA | imm | mask | mode 1 |1 |
for i in range(8):
idx = RA.x[i] << 2 | RA.y[i] << 1 | RA.z[i]
| 0.5|6.8 | 9.11|12.14|15.17|18.20| 21..25| 26.29|30|31|
| -- | -- | --- | --- | --- |-----| ----- | ---- |--|--|
-| NN | BT | BA | BB | BC |im5-7| im0-4 | mask |1 |Rc|
+| NN | BT | BA | BB | BC |im5-7| im0-4 | mask |1 |0 |
for i in range(4):
if not mask[i] continue
based on RV bitmanip singlebit set, instruction format similar to shift
+| 0.5|6.10|11.15|16.20|21.25| 26..30 |31|
+| -- | -- | --- | --- | --- | ------- |--|
+| NN | RT | RA | RB | RC | mode 010 |Rc|
```
uint_xlen_t bmset(RA, RB, sh)