test_caller_bcd: fix and refactor addg6s test loop
authorDmitry Selyutin <dmitry.selyutin@3mdeb.com>
Thu, 19 Aug 2021 17:30:42 +0000 (17:30 +0000)
committerDmitry Selyutin <dmitry.selyutin@3mdeb.com>
Thu, 19 Aug 2021 17:34:08 +0000 (17:34 +0000)
src/openpower/decoder/isa/test_caller_bcd.py

index 5b740899a2aa45ebf125ba31a13315ed1953e695..6ce0a06596aa7d1367541c2660ff67c3cdd36bcd 100644 (file)
@@ -345,14 +345,12 @@ class BCDTestCase(FHDLTestCase):
         rng10 = lambda: random.randrange(0, 10)
         bcdrng = lambda: int("".join((bcd[rng10()] for _ in range(16))), 2)
 
-        lst = []
+        lst = [f"addg6s {gpr}, {gpr + 0}, {gpr + 1}" for gpr in range(31)]
         oregs = [0] * 32
-        iregs = [bcdrng() for _ in range(32)]
-        for gpr in range(31):
-            lst += [f"addg6s {gpr}, {gpr + 0}, {gpr + 1}"]
-            oregs[gpr] = addg6s(iregs[gpr + 0], iregs[gpr + 1])
-
         for _ in range(16):
+            iregs = [bcdrng() for _ in range(32)]
+            for gpr in range(31):
+                oregs[gpr] = addg6s(iregs[gpr + 0], iregs[gpr + 1])
             with self.subTest():
                 with Program(lst, bigendian=False) as program:
                     sim = self.run_tst_program(program, iregs)