add self.FPSCR
authorJacob Lifshay <programmerjake@gmail.com>
Wed, 10 May 2023 02:16:37 +0000 (19:16 -0700)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 2 Jun 2023 18:51:18 +0000 (19:51 +0100)
src/openpower/decoder/helpers.py
src/openpower/decoder/isa/caller.py

index 0bdd4f29984c23399118af5bcab4232be65a6b1a..5f31b800877c934bba3646b0f8156be196b60f44 100644 (file)
@@ -9,6 +9,7 @@ from operator import floordiv, mod
 from openpower.decoder.selectable_int import selectltu as ltu
 from openpower.decoder.selectable_int import selectgtu as gtu
 from openpower.decoder.selectable_int import check_extsign
+from openpower.fpscr import FPSCRState
 
 from openpower.util import log
 import math
@@ -848,6 +849,13 @@ class ISACallerHelper:
     def XLEN(self):
         return self.__XLEN
 
+    @property
+    def FPSCR(self):
+        # fallback for when not used through ISACaller
+        # needed for tests that use DOUBLE2SINGLE without using ISACaller
+        self.__dict__["FPSCR"] = retval = FPSCRState()
+        return retval
+
     def EXTZXL(self, value, bits=None):
         if bits is None:
             bits = self.XLEN
index 5e4382d253e623b3feb417602d70d0df9cb2c811..22fcd8d0e34ed02d16a7821f0a3a7f7e32303d5d 100644 (file)
@@ -1271,6 +1271,10 @@ class ISACaller(ISACallerHelper, ISAFPHelpers, StepLoop):
     def XLEN(self):
         return self.namespace["XLEN"]
 
+    @property
+    def FPSCR(self):
+        return self.fpscr
+
     def call_trap(self, trap_addr, trap_bit):
         """calls TRAP and sets up NIA to the new execution location.
         next instruction will begin at trap_addr.