(no commit message)
authorlkcl <lkcl@web>
Mon, 30 May 2022 09:23:11 +0000 (10:23 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 30 May 2022 09:23:11 +0000 (10:23 +0100)
openpower/sv/bitmanip.mdwn

index ca4d0acd3adbfd1f139f478d21364816af9fcb97..b742b1db804d267b66eac3285e40efb5a4db23b5 100644 (file)
@@ -423,21 +423,28 @@ msb = ra[5:0];
 rev[0:msb] = rb[msb:0];
 rt = ZE(rev[msb:0]);
 
-uint_xlen_t bmextrev(RA, RB, sh)
+uint_xlen_t bmrevi(RA, RB, sh)
 {
     int shamt = XLEN-1;
     if (RA != 0) shamt = (GPR(RA) & (XLEN - 1));
     shamt = (XLEN-1)-shamt;  # shift other end
-    bra = bitreverse(RB)     # swap LSB-MSB
+    brb = bitreverse(GPR(RB))     # swap LSB-MSB
     mask = (2<<sh)-1;
-    return mask & (bra >> shamt);
+    return mask & (brb >> shamt);
+}
+
+uint_xlen_t bmrev(RA, RB, RC) {
+    return bmrevi(RA, RB, GPR(RC) & 0b111111);
 }
 ```
 
-| 0.5|6.10|11.15|16.20|21.26| 27..30  |31| name   |
-| -- | -- | --- | --- | --- | ------- |--| ------ |
-| NN | RT | RA  | RB  | sh  | 1111    |Rc| bmrevi |
+| 0.5|6.10|11.15|16.20|21.26| 27..30  |31| name   | Form     |
+| -- | -- | --- | --- | --- | ------- |--| ------ | -------- |
+| NN | RT | RA  | RB  | sh  | 1111    |Rc| bmrevi | MDS-Form |
 
+| 0.5|6.10|11.15|16.20|21.25| 26..30  |31| name   | Form     |
+| -- | -- | --- | --- | --- | ------- |--| ------ | -------- |
+| NN | RT | RA  | RB  | RC  | 11110   |Rc| bmrev  | VA2-Form |
 
 # grevlut <a name="grevlut"> </a>