(no commit message)
authorlkcl <lkcl@web>
Sun, 13 Mar 2022 13:47:51 +0000 (13:47 +0000)
committerIkiWiki <ikiwiki.info>
Sun, 13 Mar 2022 13:47:51 +0000 (13:47 +0000)
openpower/sv/bitmanip.mdwn

index ad576763b742669f3fba7d1182db2cf16624c885..671790fda460457e98e8a7f155ebd39a1882b8ad 100644 (file)
@@ -361,9 +361,11 @@ dorow(imm8, step_i, chunksize):
         step_o[j] = lut2(imm, step_i[j], step_i[j ^ chunk_size])
     return step_o
 
-uint64_t grevlut64(uint64_t RA, uint64_t RB, uint8 imm)
+uint64_t grevlut64(uint64_t RA, uint64_t RB, uint8 imm, bool iv)
 {
-    uint64_t x = RA;
+    uint64_t x = 0;
+    if (RA != 0) x = GPR(RA);
+    if (iv) x = ~x;
     int shamt = RB & 63;
     for i in 0 to 6
         step = 1<<i
@@ -373,6 +375,12 @@ uint64_t grevlut64(uint64_t RA, uint64_t RB, uint8 imm)
 
 ```
 
+| 0.5|6.10|11.15|16.20 |21..25   | 26....30    |31| name |
+| -- | -- | --- | ---  | -----   | --------    |--| ------ |
+| NN | RT | RA  | s0-4 | im0-4   | im5-7  1 iv |s5| grevlogi |
+| NN | RT | RA  | RB   | im0-4   | im5-7  00   |1 | grevlog |
+
+
 # grev
 
 based on RV bitmanip, this is also known as a butterfly network. however