(no commit message)
authorlkcl <lkcl@web>
Wed, 25 May 2022 09:16:35 +0000 (10:16 +0100)
committerIkiWiki <ikiwiki.info>
Wed, 25 May 2022 09:16:35 +0000 (10:16 +0100)
openpower/sv/bitmanip.mdwn

index 6a40d3ac4680b9f9367981a0eaa92ea071ebf954..ff2e99ef0dae06cc1f2677e3a57b3861fe9c4e1d 100644 (file)
@@ -194,7 +194,8 @@ table comes from a register not an immediate.
 | NN | RT | RA  | RB  | RC    |nh 00001| VA-Form |
 | NN | RT | RA  | RB  | /BFA/ |0  01001| VA-Form |
 
-For binlut:
+For binlut, the 4-bit LUT may be selected from either the high nibble
+or the low nibble of the first byte of RC:
 
     lut2(imm, a, b):
         idx = b << 1 | a
@@ -215,7 +216,9 @@ Vector or Scalar.
 *Programmer's note: a dynamic ternary lookup may be synthesised from
 a pair of `binlut` instructions followed by a `ternlogi` to select which
 to merge. Use `nh` to select which nibble to use as the lookup table
-from the RC source register (`nh=1` nibble high)*
+from the RC source register (`nh=1` nibble high), i.e. keeping
+an 8-bit LUT3 in RC, the first `binlut` instruction may set nh=0 and
+the second nh=1.*
 
 ## crternlogi