move mask_extend function to utils
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 23 Apr 2021 16:10:21 +0000 (17:10 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 23 Apr 2021 16:10:21 +0000 (17:10 +0100)
src/openpower/test/common.py
src/openpower/util.py

index 3bdb7d4929ab73fdb4ac8a9b8bbc99844b93874c..c62a803b6cd553d79c31acebeee7a3f02c29864e 100644 (file)
@@ -10,9 +10,6 @@ import types
 from openpower.decoder.power_enums import XER_bits, CryIn, spr_dict
 from openpower.util import fast_reg_to_spr, slow_reg_to_spr  # HACK!
 from openpower.consts import XERRegsEnum
-from openpower.test.common import (mask_extend, SkipCase, _id, skip_case,
-                                   skip_case_if, TestAccumulatorBase,
-                                   TestCase)
 
 
 # TODO: make this a util routine (somewhere)
index e4f2fe043e7ea4828a242708a1dcb89448ec0741..71d60b732afd4dd3c2ed9b34161b34f63866c602 100644 (file)
@@ -39,3 +39,15 @@ def spr_to_slow_reg(spr_num):
     for i, x in enumerate(SPR):
         if spr_num == x.value:
             return i
+
+
+# TODO: make this a util routine (somewhere)
+def mask_extend(x, nbits, repeat):
+    res = 0
+    extended = (1<<repeat)-1
+    for i in range(nbits):
+        if x & (1<<i):
+            res |= extended << (i*repeat)
+    return res
+    
+