(no commit message)
authorlkcl <lkcl@web>
Tue, 15 Feb 2022 05:52:04 +0000 (05:52 +0000)
committerIkiWiki <ikiwiki.info>
Tue, 15 Feb 2022 05:52:04 +0000 (05:52 +0000)
openpower/sv/bitmanip.mdwn

index 932d28377665cd98cacf77fbae456a3ebde11f5b..e2803b332287b585e2f86bcf40a97bbb15ddd9cf 100644 (file)
@@ -181,9 +181,12 @@ Like the x86 AVX512F [vpternlogd/vpternlogq](https://www.felixcloutier.com/x86/v
 | -- | -- | --- | --- | ----- | -------- |--|
 | NN | RT | RA  | RB  | im0-4 | im5-7 00 |0 |
 
-    for i in range(64):
-        idx = RT[i] << 2 | RA[i] << 1 | RB[i]
-        RT[i] = (imm & (1<<idx)) != 0
+    lut3(imm, a, b, c):
+        idx = c << 2 | b << 1 | a
+        return imm[idx] # idx by LSB0 order
+
+    for i in range(64): 
+        RT[i] = lut3(imm, RB[i], RA[i], RT[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.