added a log func on the expected results for scalar ddffirst
[openpower-isa.git] / src / openpower / test_fpscr.py
index 7c0c99a480a8c1129c98fc573edc3e08cd8600fb..00ea2f8feb0e79c7661058acc7fa6b5a37631425 100644 (file)
@@ -12,15 +12,41 @@ class TestFPSCR(unittest.TestCase):
         expected = 0x3
         self.assertEqual(FPSCR, expected)
         self.assertEqual(FPSCR.VXCVI, 0)
+        self.assertEqual(FPSCR.VX, 0)
         FPSCR.VXCVI = 1
         self.assertEqual(FPSCR.VXCVI, 1)
+        self.assertEqual(FPSCR.VX, 1)
         expected |= 1 << (64 - 55 - 1)
+        expected |= 1 << (64 - 34 - 1)
         self.assertEqual(FPSCR, expected)
         self.assertEqual(FPSCR.FX, 0)
         FPSCR.FX = 1
         self.assertEqual(FPSCR.FX, 1)
         expected |= 1 << (64 - 32 - 1)
         self.assertEqual(FPSCR, expected)
+        self.assertEqual(FPSCR.C, 0)
+        FPSCR.C = 1
+        self.assertEqual(FPSCR.C, 1)
+        expected |= 1 << (64 - 47 - 1)
+        self.assertEqual(FPSCR, expected)
+        self.assertEqual(FPSCR.FPRF, 0b10000)
+        self.assertEqual(FPSCR.FPCC, 0b0000)
+        self.assertEqual(FPSCR.FE, 0)
+        FPSCR.FE = 1
+        self.assertEqual(FPSCR.FE, 1)
+        expected |= 1 << (64 - 50 - 1)
+        self.assertEqual(FPSCR, expected)
+        self.assertEqual(FPSCR.FPRF, 0b10010)
+        self.assertEqual(FPSCR.FPCC, 0b0010)
+        self.assertEqual(FPSCR.VE, 0)
+        self.assertEqual(FPSCR.VX, 1)
+        self.assertEqual(FPSCR.FEX, 0)
+        FPSCR.VE = 1
+        self.assertEqual(FPSCR.VE, 1)
+        self.assertEqual(FPSCR.FEX, 1)
+        expected |= 1 << (64 - 56 - 1)
+        expected |= 1 << (64 - 33 - 1)
+        self.assertEqual(FPSCR, expected)
 
 
 if __name__ == "__main__":