(no commit message)
authorlkcl <lkcl@web>
Tue, 15 Mar 2022 21:35:10 +0000 (21:35 +0000)
committerIkiWiki <ikiwiki.info>
Tue, 15 Mar 2022 21:35:10 +0000 (21:35 +0000)
openpower/sv/bitmanip.mdwn

index f319d5147e6927c17f8839ac466482cd73f4cd85..36956884457a2542ae655d791e805e8b773be798 100644 (file)
@@ -287,22 +287,19 @@ def MASK(x, y):
 uint_xlen_t bmset(RS, RB, sh)
 {
     int shamt = RB & (XLEN - 1);
-    mask = (2<<sh)-1;
-    return RS | (mask << shamt);
+    return RS | MASK(shamt, sh)
 }
 
 uint_xlen_t bmclr(RS, RB, sh)
 {
     int shamt = RB & (XLEN - 1);
-    mask = (2<<sh)-1;
-    return RS & ~(mask << shamt);
+    return RS & ~MASK(shamt, sh)
 }
 
 uint_xlen_t bminv(RS, RB, sh)
 {
     int shamt = RB & (XLEN - 1);
-    mask = (2<<sh)-1;
-    return RS ^ (mask << shamt);
+    return RS ^ MASK(shamt, sh)
 }
 
 uint_xlen_t bmext(RS, RB, sh)