| 0.5|6.10|11.15|16.20| 21..22 | 23...30 |31| name |
| -- | -- | --- | --- | ------ | ------- |--| ------- |
-| NN | RT | RA | RB | M 0 | im[0:7] |Rc| XL-Form |
+| NN | RT | RA | RB | 0 0 | im[0:7] |Rc| XL-Form |
for i in range(64):
idx = RT[i] << 2 | RA[i] << 1 | RB[i]
bits 21..22 may be used to specify a mode, such as treating the whole integer zero/nonzero and putting 1/0 in the result, rather than bitwise test.
+a 4 operand variant which becomes more along the lines of an FPGA:
+
+| 0.5|6.10|11.15|16.20| 21..22 | 23...30 |31| name |
+| -- | -- | --- | --- | ------ | ------- |--| ------- |
+| NN | RT | RA | RB | 1 0 | RC /// |Rc| XL-Form |
+
+ for i in range(64):
+ idx = RT[i] << 2 | RA[i] << 1 | RB[i]
+ RT[i] = (RC & (1<<idx)) != 0
+
another mode selection would be CRs not Ints.
| 0.5|6.8 | 9.11|12.14|15.17|18.21|22 | 23...30 |31| name |
# single bit set
-based on RV bitmanip
+based on RV bitmanip, instruction format similar to shift
```
uint_xlen_t sbset(uint_xlen_t rs1, uint_xlen_t rs2) {