add MemMMap tests
[openpower-isa.git] / src / openpower / fpscr.py
index 1ae31ce398417015763d6a1675b02f48f170ca70..edfcfacacb0228a45159ebf244fff92b07af1a5c 100644 (file)
@@ -129,16 +129,14 @@ class FPSCR_FPRF(FieldSelectableInt):
 
 
 class FPSCRState(SelectableInt):
-    def __init__(self, value=0):
+    def __init__(self, value=0, *, auto_update_summary_bits=True):
         self.__do_update_summary_bits = False
         SelectableInt.__init__(self, value, 64)
         self.fsi = {}
         offs = 0
         # set up sub-fields from Record layout
         self.fsi = {}
-        l = deepcopy(FPSCRRecord.layout)
-        l.reverse()
-        for field, width in l:
+        for field, width in reversed(FPSCRRecord.layout):
             if field == "FPRF":
                 v = FPSCR_FPRF(self, tuple(range(47, 52)))
                 end = 52
@@ -164,7 +162,8 @@ class FPSCRState(SelectableInt):
                 fs = tuple(offs)
             v = FieldSelectableInt(self, fs)
             self.fsi[field] = v
-        self.__update_summary_bits()
+        if auto_update_summary_bits:
+            self.__update_summary_bits()
 
     @property
     def value(self):