From: lkcl Date: Wed, 22 Jun 2022 16:22:52 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1592 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7ec81962d26e9e4f14e9bd2c37c9bc95a050f9bc;p=libreriscv.git --- diff --git a/openpower/sv/bitmanip.mdwn b/openpower/sv/bitmanip.mdwn index 6d628c598..d62f95cda 100644 --- a/openpower/sv/bitmanip.mdwn +++ b/openpower/sv/bitmanip.mdwn @@ -148,7 +148,9 @@ the [[sv/av_opcodes]]) | NN | RT | RA | RB | 0 | 01 | 0001 110 |Rc| vec sofm | X-Form | | NN | RT | RA | RB | 0 | 10 | 0001 110 |Rc| vec sifm | X-Form | | NN | RT | RA | RB | 0 | 11 | 0001 110 |Rc| vec cprop | X-Form | -| NN | | | | | -0 | 0101 110 |Rc| crfbinlog | {TODO} | +| NN | | | | | 00 | 0101 110 |0 | crfbinlog | {TODO} | +| NN | | | | | 00 | 0101 110 |1 | rsvd | | +| NN | | | | | 10 | 0101 110 |Rc| rsvd | | | NN | | | | | -1 | 0101 110 |Rc| rsvd | | | NN | RT | RA | RB | 0 | itype | 1001 110 |Rc| av minmax | X-Form | | NN | RT | RA | RB | 1 | 00 | 1001 110 |Rc| av abss | X-Form | @@ -250,7 +252,7 @@ another mode selection would be CRs not Ints. | -- | -- | --- | --- | --- |-----|----- | -----|--| | NN | BT | BA | BB | BC |m0-2 | imm | 01 |m3| - mask = m0-3,m4 + mask = m0-3 for i in range(4): a,b,c = CRs[BA][i], CRs[BB][i], CRs[BC][i]) if mask[i] CRs[BT][i] = lut3(imm, a, b, c) @@ -264,11 +266,11 @@ is the ternary LUT version of crops, having an 8-bit LUT. With ternary (LUT3) dynamic instructions being very costly, and CR Fields being only 4 bit, a binary (LUT2) variant is better -| 0.5|6.8 | 9.11|12.14|15.17|18.22|23...30 |31| -| -- | -- | --- | --- | --- |-----| --------|--| -| NN | BT | BA | BB | BC |m0-m2|00101110 |m3| +| 0.5|6.8 | 9.11|12.14|15.17|18.21|22...30 |31| +| -- | -- | --- | --- | --- |-----| -------- |--| +| NN | BT | BA | BB | BC |m0-m3|000101110 |0 | - mask = m0-3,m4 + mask = m0..m3 for i in range(4): a,b = CRs[BA][i], CRs[BB][i]) if mask[i] CRs[BT][i] = lut2(CRs[BC], a, b)